记录一下2020未来的广交大的Linux学习过程--简化笔记
新建cc.h文件
定义一些常用的数据类型
移植文件
fsl_common.h \ fsl_iomuxc.h \ MCIMX6Y2.h
设备为MCIMX6Y2
IOMUXC_SetPinMux(uint32_t muxRegister, 0x020E0068U
uint32_t muxMode, 0x5U
uint32_t inputRegister, 0x00000000U
uint32_t inputDaisy, 0x0U
uint32_t configRegister, 0x020E02F4U
uint32_t inputOnfield) 0
IOMUXC_SetPinConfig(uint32_t muxRegister, 0x020E0068U
uint32_t muxMode, 0x5U
uint32_t inputRegister, 0x00000000U
uint32_t inputDaisy, 0x0U
uint32_t configRegister, 0x020E02F4U
uint32_t configValue) 0x10B0 // 0x10B0写入GPIO1_IO3的configRegister 0x020E02F4U
C语言环境构建
1、设置处理器模式
设置6ULL处于SVC模式下,设置CPSR寄存器的bit4-0,即M[4:0]为10011=0x13
读写状态寄存器需要用到MRS和MSR指令。
MRS将CPSR寄存器数据读出到通用寄存器
MSR将通用寄存器的值写入到CPSR寄存器
2、设置SP指针
SP指向内部RAM,也可以指向DDR。
指向DDR,512MB范围0x80000000~0x9FFFFFFF,
栈大小,0x200000=2MB.处理器栈增长方式,对于A7,栈向下增长
设置SP指向0x8020 0000
3、跳转到C语言
使用b指令 跳转到c