摘要: devicemaps_init: 1. 设置向量表映射:向boot_mem申请1page得到vectors=c0c3e000,映射的虚拟地址ffff0000,映射一个page, 映射过程是先向boot_mem申请1page用于存储pte,这里一共1024个项512用于mmu(可映射2MB)另外512 阅读全文
posted @ 2019-11-18 21:51 根叔~ 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 1. 在busybox中先进入main函数 2. 根据调用号进入ash_main(也就是busybox的shell) 3. 进入cmdloop(1)中for循环 4. 在parsecmd中解析标准输入 5. 此时在控制台上输入./a_static执行(a_static为我的elf格式的应用程序) 6 阅读全文
posted @ 2019-11-15 16:41 根叔~ 阅读(1271) 评论(0) 推荐(0) 编辑
摘要: 通过内核源码树编译得到的xxx.ko驱动下载到sd卡中,启动内核进入系统用insmod xxx.ko安装驱动,该命令会调用 module_init(chrdev_init)中指定的chrdev_init函数,在该函数里我们调用register_chrdev来进行注册,注册会申请以下三个结构体 cha 阅读全文
posted @ 2019-11-11 14:49 根叔~ 阅读(1020) 评论(0) 推荐(0) 编辑
摘要: 这里先对我们的sd卡和内存的存储分布进行描述: 1 总内存为:0x30000000~0x40000000和0x40000000~0x50000000共512MB uboot占用内存2MB,起始地址:0xc3e00000 启动时会将ZIMAGE放置0x30008000 将tag信息放置0x300001 阅读全文
posted @ 2019-11-07 19:23 根叔~ 阅读(250) 评论(0) 推荐(0) 编辑
摘要: s5pv210的irom代码读取sd(mmc通道3)中的16kB(uboot第一阶段代码)到iram的0xd0020010中校验通过后开始执行 第一条指令位于cpu/s5pc11x/start.S 1 _start: b reset(第57行) 2 第149行设置CPU位svc模式禁止irq和fiq 阅读全文
posted @ 2019-11-05 18:33 根叔~ 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 参考文档:https://blog.csdn.net/haoge921026/article/details/46785995 总体来说汇编部分做了三件事:校验,设置页表和开mmu,设置栈和一些全局变量 具体内容如下: 1. 设置cpu为svc模式,禁止总中断 2. 读取ARM协处理器cp15的c0 阅读全文
posted @ 2019-07-20 07:40 根叔~ 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 参考文档:https://blog.csdn.net/haoge921026/article/details/46785995 以下内容基于s5pv210进行分析 zImage由head.o,piggy.gzip.o,misc等链接组成,piggy.gzip.o中包含压缩的内核镜像,zImage的作 阅读全文
posted @ 2019-07-19 03:10 根叔~ 阅读(6172) 评论(0) 推荐(0) 编辑
摘要: 以下内容基于s5pv210硬件进行分析 当我们配置好内核后执行make,在arch/arm/Makefile中有: 首先要生成依赖vmlinux,这个过程请参考我的随笔(Linux内核编译make做了什么?),得到vmlinux后make会执行: $(Q)$(MAKE) $(build)=$(boo 阅读全文
posted @ 2019-07-18 23:50 根叔~ 阅读(2219) 评论(0) 推荐(0) 编辑
摘要: 执行make默认目标的依赖链如下: 1. include/config/auto.conf去匹配include/config/%.conf,执行其命令: $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig即make -f ./Makefile sil 阅读全文
posted @ 2019-07-17 21:50 根叔~ 阅读(1460) 评论(0) 推荐(0) 编辑
摘要: 1. makefile执行make时对文本从上到下进行解析包括变量的赋值,预处理(ifdef等),include关键字,预处理的条件只会往前找。 2、 有多个目标存在时,每个目标的依赖都有效,但其命令只有最后一个有效,形成关系链时若某个目标成为其他多个目标的依赖则该目标也只执行一次 阅读全文
posted @ 2019-07-17 20:06 根叔~ 阅读(135) 评论(0) 推荐(0) 编辑