更多课程 选择中心

嵌入式培训
达内IT学院

400-996-5531

周五快考!嵌入式ARM基础题三道

  • 发布:嵌入式培训
  • 来源:嵌入式ARM
  • 时间:2018-06-01 17:59

周五快考!嵌入式ARM基础题三道

周五快考,考完就休息,今天嵌入式培训带来的是嵌入式ARM基础题三道,时间只有9分钟哦,赶紧来小试牛刀吧:

嵌入式 ARM基础题一:

请问uboot启动过程都做了些什么?

嵌入式 ARM基础题二:

为什么uboot要关掉cache?

嵌入式 ARM基础题三:

nandflash和norflash的区别,对norflash的操作方式的理解

恭喜你已经做完了这三道嵌入式ARM基础题,感觉答得怎么样呢?周末愉不快愉快就看这三道题答得怎么样了,来核对一下答案吧:

题一答案:

1、cpu刚开始初始化的时候,还未设置栈,所以先使用汇编代码,构建异常项链表,然后设置cpu为svc(特权)模式,同时关闭FIQ和IRQ(防止突发中断程序跑飞了)

注:在跳转到内核之前,要满足CPU出在SVC模式下。

2、对cp15协处理器进行设置,这里主要是关闭MMU和cache

3、进入到板级初始化阶段,这里会进行时钟、内存、串口的初始化。最后还要关闭看门狗。

4、接下来就是设置栈,为c语言准备运行环境,调用board_init_f,填充gd结构体。

5、对代码重定位,搬运到内存中去,搬运之后,跳转到内存中去执行board_init_r,这里就可以开启cache了,当然也可以不开启。然后初始化其他设备。比如flash、网卡、emmc等。初始化完之后,在执行main_loop

题二答案:

根据cache的定位可以看出来,它是用来加快cpu从内存中取出指令的速度,但我们都知道,在设备上电之初,我们的内存初始化比较慢一拍,当cpu初始化了,但内存还没准备好之后,就对内存进行数据读,那么势必会造成了指令取址异常,系统就会挂了。所以,在u-boot的上电之初,就得关闭掉数据cache,指令的cache关闭与不关闭没有太大的关系。

注:Dcache只能在MMU开启之后使用,因为没有MMU就没法完成虚实地址映射,也就不能索引Dcache了。

题三答案:

两种芯片的结构不同 NORflash之所以可以片内执行,就是因为他符合CPU去指令译码执行的要求。CPU送一个地址出来,NORflash就能给一个数据让CPU执行,中间不需要额外的处理操作。

NAND flash不一样是因为nandflash有地址,数据,命令共用IO口的问题,cpu把地址发出来之后,并不能直接得到数据,还需要控制线的操作才能完成。就是他没有专用的SRAM接口。

嵌入式系统中代码的执行方式主要有3种:

完全映射\按需分页\eXecute In Place (XIP)片上执行。

恭喜你已经做完了这三道嵌入式ARM基础题,你做的怎么样呢?有没有不理解的问题,有的话就来达内嵌入式培训机构咨询吧。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:周二小考!嵌入式C基础题三道
下一篇:高考周,嵌入式ARM基础题继续练!

想要在金九银十找到嵌入式相关的工作?先看这三关你能过吗?

嵌入式系统测试题其实很简单,不信你来做做看!

嵌入式Linux面试题3道,助你过关斩将!

嵌入式面试题二十道,有解析哦!

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省