day3 汇编点灯
1.GPIO点灯需要配置哪些寄存器?
1. CCM_CCGR0 - CCM_CCGR6: 0xFFFFFFFF 将所有外设时钟全部打开
2. IOMUXC_SW_MUX_CTL_PAD_: 配置引脚复用功能
3. IOMUXC_SW_PAD_CTL_PAD_:配置电气属性
4.GPIO1_GDIR: GPIO输入输出模式配置寄存器
5.GPIO1_DR: GPIO数据寄存器
day4
1. ARM工具链中gcc、ld、objcopy、objdump工具的作用?
gcc:编译器,将C/C++等高级语言源代码(写的代码)转换为汇编代码,成为目标文件。
ld:链接器,将上一轮编译的一些 多个目标文件(小目标文件,一堆.o文件)链接到一起,链接成可执行文件(elf文件)。
链接器的第二个作用处理代码里的一些符号,一些标签,并把这个start标签作为整个程序的入口,去执行。
objcopy:目标文件格式转换器,将elf文件转换为裸机程序可以识别的bin文件,纯二进制文件。
objdump:反汇编器,将二进制bin文件反汇编成一个汇编文件,可以查看汇编文件中的一些信息。
2. .text段、.bss段、common段、.data段、.rodata段区别?
bss段:存放初始化为0的全局变量以及静态变量。
COMMON段:用于存放未初始化的全局变量。未初始化的全局变量的值一定是0值。
data段:用于存放初始化不为0的全局变量和静态变量。
rodata段(只读数据段):存放程序的只读数据,运行时受保护,不可修改。
text段:存放代码与指令。