在这里记录自己的嵌入式学习方向和成果,只做大方向的规划,目前学习规划如下:
√ linux基础学习
√ arm裸机开发(使用正点原子IMX6ULL的板子)
√ linux的系统移植
√ Linux核心驱动开发
√ qt
√ linuxc应用编程
【doing】linux内核源码分析(主要通过以下两本书并结合linux源码进行学习):
- linux内核设计与实现(在看)
- 深入理解linux内核
pbuf 结构体:
1 | struct pbuf { |
armv8中,执行发生在4个异常级别之一,在aarch64中,异常级别决定了特权级别,类似于armv7中定义的特权级别,异常级别决定特权级别,因此在Eln执行对于特权Pln。类似地,具有比另一个更大的n值的异常级别处于更高的异常级别,一个数字比另一个小的异常级别被描述为处于较低的异常级别。
Uboot是一个裸机程序,比较复杂,就是一个bootloader。作用就是用于启动Linux或其他系统,Uboot最主要的工作就是初始化DDR(Linux的运行是运行在DDR里面的),一般linux镜像zimage(uimage)+设备树(.dtb)存放在SD,EMMC,NAND,SPI FLASH等等外置存储区域。
I.MAX6ULL IO初始化流程
起因是在观看裸机开发教程中在汇编中引入了一个链接文件,教程中并未对其做出过多的解释,所以我就自己查看资料对c的内存管理有了进一步的理解,链接文件如下:
1 | SECTIONS{ |
在这个文件里我们看到了.text,.rodata,.data,.bss我一开始看到这个觉得一头雾水(因为本人c语言基础较弱),首先是不知道这些段是干嘛的,其次是不知道编写这个所谓链接文件的目的,所以我就去网上查看资料,终于有了一些收获
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true