朱老师ARM裸机-第一部分-ARM那些你得知道的事

第一部分 -ARM那些你得知道的事
1.外设就是外部设备,SOC中外设大部分都跑进去了,芯片设计的趋势是更大集成度,裸机学习其实就是学习SOC的内核       (CPU,表现为汇编指令集)和各种外设(如串口)
2.嵌入式和单片机的区别:
单片机开发多为裸机,程序规模小,多为某个程序员独立开发。有些复杂产品也会使用高端芯片如STM32,并且使用RTOS
嵌入式开发几乎全部基于操作系统,目前Android和linux使用最多。
编程语言:单片机主要使用C语言(少量用汇编),和标准C略有不哦那个,很少使用结构体,函数指针等C语言高级特性。
                     而嵌入式开发较复杂,一般分为底层和应用层。底层使用C语言,应用层使用C,C++,JAVA等语言均有。嵌入式C语言对结构体,数据结构,算法,函数指针(用来实现面向对象)等高级特性使用比较多。
软硬件组件方面:单片机多涉及简答外设,串口,IIC,ADC;而嵌入式系统则涉及更多复杂外设,譬如网络(网卡,WIFI,蓝牙),USB,音视频编解码等。
3.交叉编译
两种开发方式
非嵌入式开发:A机编写源代码,编译得到可执行程序,发布给A机运行
嵌入式开发:A机编写源代码,编译得到可执行程序,发布给B机运行。
使用交叉编译的原因:嵌入式开发的CPU比较简单,本身无法搭建开发环境,有些甚至操作系统都没有。
                                        交叉编译可以用高性能机器为低性能机器开发软件(包括裸机软件,系统级和应用级软件)
交叉编译的特点: 必须使用专用的交叉编译工具链
                                 由于可执行程序不能本地运行调试,因此必须配合一定手段(专用调试器,JTAG调试器,USB下载,串口下                                       载,SD启动,网络共享等)将可执行程序加载到目标篇嵌入式设备上运行以及调试。
4.地址总线和数据总线
CPU通过地址总线寻址,然后通过数据总线与外部设备交换信息。
地址总线的位数绝地给CPU寻址范围;数据总线的位数决定CPU单次通信能够交换的信息数量
总线的速度决定CPU和外设互换信息的速度。
attention:
CPU的地址总线和数据总线是可以不相同的,但是一般都相同
CPU的位数指的是数据总线的位数。
32位CPU的寻址范围是4G,所以最多支持4G内存;
数据总线是32位,所以内存是32位的好,所以编程最好用int.
5.为何需要jlink,SD卡等辅助设备
    交叉编译,不便于本机运行调试程序。
    嵌入式系统需要bootloader必须首先存在于可启动介质中,这个过程需要专用工具。
    嵌入式系统无法通过纯软件实现单步调试,因此必须借助专用的调试器。
jlink的作用:下载可执行程序到目标机;在目标机上实现单步调试,便于开发bootloader。
SD卡的作用:作为启动介质。工作方式:事先用读卡器将SD卡连接到开发机(一般是windows电脑),
                          通过写卡软件将交叉编译得到的可执行程序镜像烧录到SD卡,然后将SD卡插入嵌入式目标机卡槽,设置正确的                              启动方式 启动,则系统可以从SD卡中烧录的镜像处启动。
USB串口线的作用:
            串口本身用来做嵌入式目标机的调试输出,主要目的是用来监视及调试软件。
            因为现在大部分个人电脑(大部分台式机和几乎全部的笔记本电脑)都未配置DB9串口,因此工作中一般直接使用USB转              串口线来连接PC和开发板。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值