01 2023 档案

摘要:stext() > __enable_mmu() > __turn_mmu_on() > __mmap_switched() > start_kernel() > setup_arch() > setup_machine_fdt() > of_flat_dt_match_machine() 在函数  阅读全文
posted @ 2023-01-15 21:48 流水灯 阅读(124) 评论(0) 推荐(0) 编辑
摘要:uboot通过环境变量 bootargs 传递参数给 kernel 内核,bootargs存储在设备树的 chosen 节点中,则 kernel 内核是通过读取设备树的 chosen 节点中的 bootargs 属性获取 uboot 传递过来的参数。 U_BOOT_CMD( bootz, CONFI 阅读全文
posted @ 2023-01-15 18:36 流水灯 阅读(1192) 评论(0) 推荐(0) 编辑
摘要:一、设备树 下面是我们将要实验的设备树的例子: / { #address-cells = <1>; #size-cells = <1>; demo_level0 { compatible = "simple-bus"; ranges = <0x0 0x3000000 0x3000>; #addres 阅读全文
posted @ 2023-01-14 18:40 流水灯 阅读(1247) 评论(0) 推荐(0) 编辑
摘要:gcc -shared -fPIC liberr.c -o liberr.so -fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code), 则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意位置,都可以正确的执行 阅读全文
posted @ 2023-01-14 17:27 流水灯 阅读(1335) 评论(0) 推荐(0) 编辑
摘要:微内核:提供操作系统核心功能的内核的精简版本,它设计成在很小的内存空间内增加移植性,提供模块化设计,以使用户安装不同的接口与,如DOS、Workplace OS、Workplace Unix等。IBM、Microsoft等操作系统都采用了这一研究成果的优点。 宏内核:是操作系统核心架构的一种,此架构 阅读全文
posted @ 2023-01-07 16:18 流水灯 阅读(665) 评论(0) 推荐(0) 编辑
摘要:修改的文件有如下: configs\mx6ull_14x14_evk_emmc_defconfig include\configs\mx6ullevk.h 注:linux中sd卡设备命名固定为 mmcblkX,如 mmcblk0p0 表示使用SD卡控制器1控制的SD卡分区0 列举文件内部分宏作用: 阅读全文
posted @ 2023-01-03 23:33 流水灯 阅读(167) 评论(0) 推荐(0) 编辑
摘要:uboot启动代码中,函数board_init_f()的一个功能就是配置变量gd的各个成员变量。首先获得DRAM的最高地址,然后每占用一块内存,往下减。下图为一个例子: gd->relocaddr:uboot第一次运行的地址是0x87800000,之后需要为kernel腾空间,需要把uboot搬移到 阅读全文
posted @ 2023-01-02 00:17 流水灯 阅读(320) 评论(0) 推荐(0) 编辑
摘要:uboot整体编译流程 编译uboot的时候,如果加上V=1,可以查看完整的命令 Makefile 添加: CROSS_COMPILE=arm-none-eabi- ARCH=arm 编译 make mx6ul_14x14_evk_defconfig make -j4 // 4核一起编译 阅读全文
posted @ 2023-01-01 23:47 流水灯 阅读(36) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示