ARM 18 Apr 2019 ARM Feature ARM Linux: vmlinux, Image, zImage, uImage ARM Linux deugging manual ARM Linux 5.0 源码实践 实践准备 实践简介 实践原理 实践准备 芯片手册及文档使用 调试准备 zImage 实践选择 zImage Bootstrap kernel zImage 重定位之前实践 bootstrap 第一行汇编代码 建立 armv7 cache table 建立 zImage 临时页表 MMU/cache on cache flush cache flush done zImage 重定位之后实践 zImage 重定位起点 开始解压内核 关闭 MMU, 刷新 cache 将执行权移交给内核 内核初始化 内核基础初始化,MMU,cache 均关闭 vmlinux 入口:第一行运行的代码 __hyp_stub_install __lookup_processor_type __proc_info __vet_atags __fixup_smp __do_fixup_smp_on_up __fixup_pv_table __create_page_tables swapper_pg_dir ARMv7 Cortex-A9 proc_info_list __v7_setup v7_invalidate_l1 __v7_setup_cont v7_ttb_setup __enable_mmu MMU 初始化完毕,为跳转到 start_kernel 做准备 __mmap_switched 调用 start_kernel 之前