微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > 嵌入式系统设计讨论 > 嵌入式linux学习笔记20160717-每天进步一点点,向嵌入式进军

嵌入式linux学习笔记20160717-每天进步一点点,向嵌入式进军

时间:10-02 整理:3721RD 点击:
1.通过这几天的学习,明白了什么是堆栈,为什么要用堆栈,堆栈的作用是什么。
堆栈:临时存放数据和地址的空间
为什么要用堆栈:CPU内寄存器的值随时会被改变,在跳转到另一个子函数时,需要将当前的指令地址保存下来,以便子函数执行完时,CPU返回之前地址继续执行
堆栈的作用:保存寄存器r0~r15的值。
ARM中堆栈的组织结构是满栈降得形式,一般的操作,保护现场时,先入栈,如STMFD sp!,{r0~r15,lr} lr先入栈,R0最后入栈,结束后,出栈,LDMFD sp!,{r0~r15,pc}^,r0先出栈,lr最后出栈,最后将lr传给pc。这样原来现场的数据就被恢复了。
2. 简单bootloader顺序:a. 关看门狗 b.设置时钟 c.设置SDRAM d.从nand flash拷贝代码至SDRAM e.跳转至main函数。
3. uart驱动程序中的一个小问题:while(!(UTRSTAT0 & 0x2)) ; 判断发送缓冲器是否为空时,while循环后少了个分号,导致一直卡在这一步,不输出。

khhjfrzhjy

lkoi89789

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top