ARM裸机-4

交叉编译允许在高性能机器上为低性能嵌入式设备开发软件,通常需要专用的交叉编译工具链和调试器如Jlink。SD卡用于存储Bootloader和系统镜像,而USB转串口线则方便调试输出。CPU通过地址总线寻址和数据总线交换信息,其位数决定了寻址范围和通信量。
摘要由CSDN通过智能技术生成

1、什么是交叉编译

1.1、两种开发模式

        非嵌入式开发,A(类)机编写(源代码)、编译得到可执行程序,发布给A(类)机运行。

        嵌入式开发,A(类)机编写(源代码)、编译得到可执行程序,发布给B(类)机运行。

1.2、为什么使用交叉编译

        嵌入式开发的CPU比较简单,本身无法搭建开发环境,有些甚至操作系统都没有。

        交叉编译可以用高性能机器为低性能机器开发软件(包括裸机软件、系统级和应用级软件)。

1.3、交叉编译特点

        必须使用专用的交叉编译工具链。

        由于可执行程序不能本地运行调试,因此必须配合一定手段(专用调试器、JTAG调试器、USB下载、串口下载、SD启动、网络共享等)将可执行程序加载到目标嵌入式设备上运行及调试。

2、CPU的设计原理、数据总线和地址总线

2.1、CPU和总线示意图

2.2、地址总线和数据总线

        总线分为数据总线、地址总线、命令总线。这里没有提及命令总线,是为了突出数据总线和地址总线,有需要可以自己去了解一下。

        CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息。

        地址总线的位数决定CPU寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量。

        总线的速度决定CPU和外设互换信息的速度。

2.3、注意

        CPU的地址总线和数据总线的位数可以不同(典型代表就是51单片机),但是一般都相同。

        CPU的位数指的是数据总线的位数。

        32位(2exp32)CPU寻址的范围是4G,所以最多支持4G内存。

        数据总线是32位的,所以内存最好也是32位的。

3、为什么需要Jlink、SD卡等辅助设备

3.1、嵌入式开发特点

        交叉编译,不便于本机运行调试程序。

        嵌入式系统需要bootloader来启动,而bootloader必须首先存在于可启动介质中,这个过程需要专用工具。

        嵌入式系统无法通过纯软件实现单步调试,因此必须借助专用的调试器。

3.2、Jlink的作用

        下载可执行程序到目标机。

        在目标机上实现单步调试,便于开发bootloader。

3.3、SD卡的作用

        作为启动介质。工作方式是:事先用读卡器将SD卡连接到开发机(一般是Windows电脑),通过写卡软件将交叉编译得到的可执行程序镜像烧录到SD卡,然后将SD卡插入嵌入式目标机卡槽,设置正确的启动方式启动,则系统可以从SD卡中烧录的镜像处启动。

3.4、USB转串口线的作用

        串口本身用来做嵌入式目标机的调试输出,主要目的是用来监视及调试软件。

        因为现在大部分个人电脑(大部分台式机和几乎全部的笔记本电脑)都未配置DB9串口,因此工作中一般直接使用USB转串口线来连接PC和开发板。

3.5、其它开发辅助工具

        USB OTG线

        DB9串口线

        交叉网线

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值