下午好,我用的是MPC5748G
开发板,有两个问题
1-请提供启动代码的完整示例
2-我现在从示例中学习启动代码
================================================ =========================
void memory_config_160mhz(void) {
uint32_t mem_write_code_vle [] = {
0x54640000, /* e_stw r3,(0)r4 指令:将 r3 内容写入 r4 中的地址 */
0x7C0006AC, /* mbar 指令:确保先前存储完成 */
0x00040004 / * 2 se_blr 的指令:分支到链接寄存器中的返回地址 */
}; /* 结构默认在边界上对齐,该边界是 */ /* 最大元素
的倍数,在本例中为 4 字节。
前两个 */
/* 指令是 4 个字节,所以最后一个指令被复制以 */
/* 避免编译器在指令前添加 2 个字节的填充。*/
typedef void (*mem_write_code_ptr_t)(uint32_t, uint32_t);
/* 创建一个新类型 def:一个名为 mem_write_code_ptr_t 的 func 指针 */
/* 它不返回值(void) */
/* 并将传递两个 32 位无符号整数值 */
/* (根据 EABI,第一个参数将在 r3,第二个 r4) */
asm (" mbar"); /* 在继续之前等待前面的代码完成。*/
================================================ =======================
请问我可以知道吗
0x54640000, /* e_stw r3,(0)r4 instr.: 将 r3 的内容写入 r4 中的地址 */
0x7C0006AC, /* mbar 指令:确保先前的存储完成 */
0x00040004 /* 2 se_blr 的 instr.: 分支到链接中的返回地址注册 */
为什么我会感谢这些价值观