摘要:参考: linux操作系统测试工具 stress 下载:https://files.cnblogs.com/files/pengdonglin137/stress-1.0.4.tar.gz 用法: https://pengrl.com/p/42434/ https://www.hi-linux.co 阅读全文
posted @ 2019-11-30 21:27 摩斯电码 阅读 (84) 评论 (0) 编辑
摘要:1、多个if判断 输出: 2、打印变量 可以使用 ${} 或者$() 或者 $ ,其中 $ 用于单字符变量,对于多字符变量,只能用前面两个 输出: 3、=、:= 和 ?= 输出: 4、ifdef和ifndef使用 输出: 5、origin获得变量来源 运行: 6、递归编译的三种方式 目录结构: 子目 阅读全文
posted @ 2018-09-19 22:26 摩斯电码 阅读 (259) 评论 (0) 编辑
摘要:参考: 程序员利器Tmux使用手册 https://www.cnblogs.com/chjbbs/p/5689011.html 常用快捷操作: 系统: 帮助:? 进入复制模式:[ 脱离当前会话:d 脱离指定的会话:D 切换会话:s 输入命令: : 会话: 新建:tmux new -s demo 连接 阅读全文
posted @ 2018-07-18 13:57 摩斯电码 阅读 (220) 评论 (0) 编辑
摘要:下面是一些Linux进程管理相关的资料。 博客 Process Creation(一) Process Creation(二) 进程切换分析(1):基本框架 进程切换分析(2):TLB处理 System Calls Make the World Go Round What Does an Idle 阅读全文
posted @ 2017-12-27 15:38 摩斯电码 阅读 (356) 评论 (0) 编辑
摘要:下面是Linux内存管理学习的一些资料。 博客 mlock() and mlockall() system calls. All about Linux swap space 逆向映射的演进 Linux kernel内存管理的基本概念 页面回收的基本概念 从 Linux 内核访问用户空间内存 Ana 阅读全文
posted @ 2017-12-27 14:52 摩斯电码 阅读 (390) 评论 (0) 编辑
摘要:下面是Python开发常用的软件包。 QScintilla2是连接编译器和Python的接口, 因此是Eric的必需前置组件 阅读全文
posted @ 2017-10-21 22:53 摩斯电码 阅读 (364) 评论 (0) 编辑
摘要:一、安装 其他: Docker:Ubuntu下的安装 完。 阅读全文
posted @ 2017-08-11 21:05 摩斯电码 阅读 (289) 评论 (0) 编辑
摘要:1、intel程序员手册(1986).pdf 下载地址 2、Intel® 64 and IA-32 Architectures Software Developer Manuals 下载链接 3、Intel汇编语言程序设计 链接:https://pan.baidu.com/s/1eRYgzR0 提取 阅读全文
posted @ 2017-07-15 11:20 摩斯电码 阅读 (382) 评论 (0) 编辑
摘要:有用的连接: Rockchip官方资料: http://opensource.rock-chips.com/wiki_Main_Page http://opensource.rock-chips.com/wiki_RK3399 http://opensource.rock-chips.com/wik 阅读全文
posted @ 2017-06-24 00:27 摩斯电码 阅读 (5386) 评论 (0) 编辑
摘要:记录一些Linux Device Drivers中常用的API。 Linux官方提供的内核文档: 1、 最新版: https://www.kernel.org/doc/html/latest/ 2、 4.10: https://www.kernel.org/doc/html/v4.10/ 3、 Un 阅读全文
posted @ 2017-05-11 13:58 摩斯电码 阅读 (1937) 评论 (1) 编辑
摘要:ARM新版文档链接 https://developer.arm.com/docs 1、 相关链接 ARM官网: http://infocenter.arm.com/ 比较有用的几个目录: ARM Technical Support Knowledge Articles 一些关于ARM处理器的一些问题 阅读全文
posted @ 2017-02-15 10:54 摩斯电码 阅读 (833) 评论 (0) 编辑
摘要:这篇博客总结的也不错: 8 Tips to help you work better with Git git常用及进阶命令总结 Git与Repo入门 git-cheat-sheet.pdf Git tips and tricks 一、初始環境配置 git config --global user. 阅读全文
posted @ 2016-08-27 20:03 摩斯电码 阅读 (2470) 评论 (0) 编辑
摘要:摘自Linux-3.18.20的头文件include/uapi/asm-generic/errno-base.h和include/uapi/asm-generic/errno.h: 阅读全文
posted @ 2016-08-12 16:34 摩斯电码 阅读 (211) 评论 (0) 编辑
摘要: 阅读全文
posted @ 2015-05-16 00:10 摩斯电码 阅读 (832) 评论 (0) 编辑
摘要:作者信息 作者:彭东林 邮箱:pengdonglin137@163.com 1、反编译设备树 在设备树学习的时候,如果可以看到最终生成的设备树的内容,对于我们学习设备树以及分析问题有很大帮助。这里我们需要使用设备树生成工具dtc的反编译功能 假设我们最终的设备树文件是:arch/arm/boot/d 阅读全文
posted @ 2015-05-11 17:11 摩斯电码 阅读 (19487) 评论 (5) 编辑
摘要:生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率。 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) Ctrl + b :按字符后移(左向) Alt + f :按单词前移(右向) Alt + b :按 阅读全文
posted @ 2014-06-27 15:19 摩斯电码 阅读 (300) 评论 (0) 编辑
摘要:采用的Linux是Debian6,虚拟机采用VirtualBox。 用VirtualBox安装Debian的方法,可以参见我的另一篇博客http://www.cnblogs.com/pengdonglin137/p/3343135.html,这里仅补充说明一下。 1、修改VirtualBox的虚拟机 阅读全文
posted @ 2013-10-13 16:29 摩斯电码 阅读 (1735) 评论 (0) 编辑
摘要:文件查找 find * -name "xarina_evb_defconfig" grep "TEXT_BASE" * -nR find . ! -name "*.txt" -print 搜索除了*.txt之外的文件 查看文件的实际内容 od -c peng.txt -c 表示以字符方式打印文件的内 阅读全文
posted @ 2013-08-21 14:06 摩斯电码 阅读 (685) 评论 (0) 编辑
摘要:下面是Linux开发常用的软件包: 软件包的名称 作用描述 安装方式 build-essential sudo apt-get install build-essential policycoreutils audit2allow工具 sudo apt-get install policycoreu 阅读全文
posted @ 2013-08-09 14:34 摩斯电码 阅读 (2723) 评论 (2) 编辑
摘要:原文: https://developer.arm.com/docs/321493627/10/how-do-i-handle-non-secure-group-1-interrupts-when-a-core-runs-at-secure-el1 How do I handle Non-secur 阅读全文
posted @ 2020-03-20 23:16 摩斯电码 阅读 (13) 评论 (0) 编辑
摘要:参考:https://blog.csdn.net/earbao/article/details/53153853 示例: arm-linux-gnueabihf-gcc --help arm-linux-gnueabihf-gcc --help arm-linux-gnueabihf-gcc --h 阅读全文
posted @ 2020-03-19 10:31 摩斯电码 阅读 (24) 评论 (0) 编辑
摘要:平台:Qemu + vexpress-a9 u-boot:u-boot-2019.10 Linux:linux-4.14.13 之前介绍过用Qemu模拟运行uboot,然后从网络启动linux(用Qemu模拟vexpress-a9 (三) 实现用u-boot引导Linux内核),下面介绍用Qemu运 阅读全文
posted @ 2020-01-14 23:05 摩斯电码 阅读 (302) 评论 (0) 编辑
摘要:Linux显示开机logo的函数调用: 获取logo: 其中获取logo数据是在fb_find_logo中完成的: 以logo_linux_clut224为例,它是内核根据drivers/video/logo/logo_linux_clut224.ppm生成的(具体参考drivers/video/l 阅读全文
posted @ 2020-01-11 11:55 摩斯电码 阅读 (130) 评论 (0) 编辑
摘要:在使用tar时,有时需要在解压缩时去掉顶层目录,下面介绍两个一些可行的做法. 通常在做压缩和解压时,是这么操作的: 压缩: 解压: 此时,tmp目录下的文件结构: 有时不想看到顶层目录a 方法一:压缩时处理 压缩: 解压: tmp下的目录结构: 方法二:解压时处理 压缩: 解压: 此时tmp下的目录 阅读全文
posted @ 2019-12-31 17:19 摩斯电码 阅读 (300) 评论 (0) 编辑
摘要:如果最大列设置的太小,就会出现如下的现象: 可以通过Options -> Global Options来修改: 完。 阅读全文
posted @ 2019-12-31 10:02 摩斯电码 阅读 (72) 评论 (0) 编辑
摘要:参考: 搭建apt源 Ubuntu ARM更改为国内源 使用Qemu运行Ubuntu文件系统(1) 针对arm和arm64,使用的是http://ports.ubuntu.com/ubuntu-ports/。下面以搭建arm64的本地源为例。 概述 有些私有云环境不允许连接互联网,这样的话云平台的虚 阅读全文
posted @ 2019-12-29 12:28 摩斯电码 阅读 (393) 评论 (1) 编辑
摘要:邮箱:pengdonglin137@163.com 参考: man sgdisk 使用 sgdisk 管理分区 sgdisk基本用法 考虑下面一种场景: 编译刷机包时,是按照2GB的eMMC制作gpt分区格式的镜像,但是最终使用的eMMC的大小是4GB,如何让最后一个分区占满后面的2GB空间,并且保 阅读全文
posted @ 2019-12-25 15:33 摩斯电码 阅读 (130) 评论 (0) 编辑
摘要:交叉编译popt: https://unix.stackexchange.com/questions/266187/lpopt-is-not-found-while-cross-compiling-for-aarch64 阅读全文
posted @ 2019-12-24 11:06 摩斯电码 阅读 (21) 评论 (0) 编辑
摘要:在busybox中提供了一个名叫taskset的命令用于设置进程的cpu亲和性,让指定的进程或者程序在指定的cpu上面运行,该程序是通过调用sched_getaffinity和sched_setaffinity来完成的,关于这两个API可以参考https://blog.csdn.net/i_am_j 阅读全文
posted @ 2019-12-10 16:49 摩斯电码 阅读 (69) 评论 (0) 编辑
摘要:邮箱:pengdonglin137@163.com 参考:https://stackoverflow.com/questions/1706328/how-do-shared-libraries-work-in-a-mixed-64bit-32bit-system 概述 在嵌入式开发时,经常会通过编译 阅读全文
posted @ 2019-12-06 14:53 摩斯电码 阅读 (462) 评论 (0) 编辑
摘要:以ARM32开发板为例,在/lib下有一个名为ld-linux-armhf.so.3的可执行程序(在ARM64开发板上是/lib/ld-linux-aarch64.so.1),这个程序负责加载可执行程序以及依赖的动态库: 然后使用--list参数就可以查看依赖的库: 此外,也可以使用readelf来 阅读全文
posted @ 2019-12-06 13:41 摩斯电码 阅读 (158) 评论 (0) 编辑
摘要:参考: linux操作系统测试工具 stress 下载:https://files.cnblogs.com/files/pengdonglin137/stress-1.0.4.tar.gz 用法: https://pengrl.com/p/42434/ https://www.hi-linux.co 阅读全文
posted @ 2019-11-30 21:27 摩斯电码 阅读 (84) 评论 (0) 编辑
摘要:作者:彭东林 邮箱:pengdonglin137@163.com 参考 https://gist.github.com/tessus/5e118d44261a6ab2f198 环境 Qemu-4.1 Linux-4.14 ARM64 aarch64-linux-gnu-gcc 8.3 概述 在进行嵌 阅读全文
posted @ 2019-11-30 00:28 摩斯电码 阅读 (105) 评论 (0) 编辑
摘要:其他core的入口 文件:arch/arm64/kernel/head.S secondary_entry: 在从bl31切到EL1上的Linux Kernel后: 第595行,在el2_setup中设置EL1和EL0为小端模式,然后将w0设置为BOOT_CPU_MODE_EL1,并返回 第596行 阅读全文
posted @ 2019-11-24 23:55 摩斯电码 阅读 (238) 评论 (0) 编辑
摘要:像下面的qemu启动命令: 可以使用如下方式将设备树文件dump出来: 阅读全文
posted @ 2019-11-18 12:34 摩斯电码 阅读 (133) 评论 (0) 编辑
摘要:下面是自制的用于编译ARMv8指令的交叉编译工具链: 1、运行在PC上,支持SVE指令,不支持SVE ACLE,版本GCC9.2 https://pan.baidu.com/s/1_NnwajWCelT3rRUuM-yl6Q 2、运行在PC上,支持SVE指令,支持SVE ACLE,版本GCC9.0 阅读全文
posted @ 2019-09-28 00:12 摩斯电码 阅读 (144) 评论 (0) 编辑
摘要:参考:https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/arm-instruction-emulator/installing-arm-instruction-emulator 运行环 阅读全文
posted @ 2019-09-27 10:31 摩斯电码 阅读 (76) 评论 (0) 编辑
摘要:开发环境 PC:ubuntu18.04 Qemu:4.1 Kernel:Linux-5.2 概述 由于要学习ARM的SVE技术,但是目前还没有支持SVE指令的板子,所以只能用Qemu来模拟,但是发现Qemu在用户模式下无法设置SVE的位宽,在浏览ARM官网资料时发现,ARM提供了Arm Instru 阅读全文
posted @ 2019-09-22 18:41 摩斯电码 阅读 (380) 评论 (0) 编辑
摘要:最近在学习AArch64的SVE技术时,发现目前可以在网上找到的gcc版本都不支持SVE intrinsic方式调用,在看文档时发现,GCC要到2020年的GCC10时才会支持: 在github上看到了gcc仓库里存在一个名为aarch64/sve-acle-branch的分支: 然后将这个分支的代 阅读全文
posted @ 2019-09-22 12:34 摩斯电码 阅读 (259) 评论 (3) 编辑