编译步骤 步骤: 指定架构:不同 CPU 架构的汇编指令、初始化代码等不同。 指定交叉编译工具链:特定的架构需要特定的编译工具。 选择配置文件:板子上的硬件资源不同。 编译:生成镜像文件。 (1)步骤1、2 修改源码顶层的 Makefile ARCH ?= arm CROSS_COMPILE ?=
uboot 来源:"08、系统镜像\02、教程系统镜像\02、阿尔法V2.4版本及以后和miniV2.2及以后的底板\01、u-boot镜像\emmc\u-boot.bin",烧写到 TF 卡 kernel 来源:"\01、例程源码\03、正点原子Uboot和Linux出厂源码",使用配置文件"im
1、设置 nxp 的工具 mfgtools-with-rootfs 在这个软件的 \Profiles\Linux\OS Firmware\firmware 目录下,替换: zImage u-boot-imx6ull14x14evk_emmc.imx zImage-imx6ull-14x14-evk-
开发者务必遵循 Linux 的代码规范,否则多人协作时代码不好维护。 Linux 内核代码风格 — The Linux Kernel documentation 缩进和空格 制表符 缩进的制表符为 8 个字符,并非我们常用的 4 个字符。大一点的缩进更容易分辨代码块。 不要使用空格来代替制表符。
选择原则: 不允许睡眠的上下文需要采用忙等待类,可以睡眠的上下文可以采用阻塞类。在异常上下文中访问的竞争资源一定采用忙等待类。 临界区操作较长的应用建议采用阻塞类,临界区很短的操作建议采用忙等待类。 中断屏蔽仅在有与中断上下文共享资源时使用。 共享资源仅是一个简单整型量时用原子变量。 原子变量
关于 Linux 的中断: 进入中断服务程序时,硬件会自动关闭当前 CPU 的可屏蔽中断 IRQ,但不会影响其他 CPU 的中断处理。FIQ 中断不受影响,但是 Linux 内核不使用 FIQ。虽然可以在 ISR 中手动调用 local_irq_enable() 重新开启本地中断,但内核出于防止重入
杂项设备 主设备号默认规定为10,用户无须关心主设备号 可以作为拓展设备驱动数量的一种手段 依然是一个字符设备驱动 是字符设备驱动的另一种更加简单的注册方式
printk 是内核提供的日志打印函数,和C语言的 printf 差不多,但是不支持浮点数据。 日志级别: printk的用法和printf类似,printf用于用户空间,printk用于内核空间。 用printk函数时,内核会根据打印的日志级别,决定是否把打印的信息输出到控制台上。 消息正常输出的
ctrl + shift + p (1)先设置 设置完成后要关闭 vscode,然后重新打开。
快捷命令 一个虚拟机不是只搞一个 SOC 的,所以CPU架构、交叉编译工具的环境变量不能写死。 1、编辑配置 sudo vim ~/.bashrc 2、在最上面一行前添加: alias getimx='export PATH=/opt/Linux_Workspace/i.MX6ULL/arm_gcc
DC 电源座子 1(边缘的引脚):正极 3(中间的引脚):负极 2(侧着的引脚):没插入时与 3 相连,插入时与3断开连接。 单电源的话,2可以不接。 双电源的话,2可以接电池的负极,3接电源的负极,这样插入的时候自
常见的嵌入式 Shell 方案: FinSh msh:RT-Thread 的 TingSH Letter shell cmd parser nr micro shell 还有个于振南的 ZN'Shell,由 FinSh 改进过来。 MyShell ZN'Shell 改个名字,改个 Logo 不带参数