当前位置:   article > 正文

ARM 嵌入式和单片机开发模式的区别_arm单片机开发

arm单片机开发

一、 开发模式

  • 单片机开发多为裸机,程序规模小,多为单个程序员独立开发。有些复杂产品也会使用高端单片机如STM32之类,并使用RTOS(uCOS、freeRTOS等)。
  • 嵌入式开发几乎全部基于嵌入式操作系统,目前使用最多的是 linux 和Android。

二、 技术特征

编程语言方面

单片机主要使用C语言(少量用汇编),和标准C略有不同,很少使用结构体、函数指针等C语言高级特性。

嵌入式开发较复杂,一般分底层和应用层。底层使用C语言,应用层使用C、C++、Java等语言均有。嵌入式C语言对结构体、
数据结构、算法、函数指针(用来实现面向对象)等高级特性使用比较多)。


软硬件组件方面

单片机多涉及一些简单外设,譬如串口、I2C、ADC、LCD(小屏幕和分辨率);

嵌入式系统则涉及更多复杂外设,譬如网络(有线网卡、wifi、蓝牙等)、USB、音视频编解码等。


三、 嵌入式系统的特点

  • 专用、软硬件可裁剪可配置
  • 低功耗、高可靠性、高稳定性
  • 软件代码短小精悍
  • 代码可固化
  • 实时性
  • 弱交互性
  • 专用开发工具及开发环境
  • 专业开发人员

四、嵌入式系统的组成

硬件
  • 微处理器
  • 存储器
  • I/O接口、输入输出设备等等
软件
  • 嵌入式操作系统
  • BSP board support package板级支持包
  • 应用软件
  • 注:操作系统是中间人;应用软件通过给操作系统发命令,然后由操作系统来控制 BSP 中的驱动,最终控制硬件来完成任务

五、地址总线和数据总线

  • CPU 通过地址总线寻址,然后通过数据总线与外部设备互换信息。
  • 地址总线的位数决定CPU寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量;
  • 总线的速度决定CPU和外设互换信息的速度。

六、为何使用交叉编译

  • 嵌入式开发的CPU比较简单,本身无法搭建开发环境,有些甚至操作系统都没有。
  • 交叉编译可以用高性能机器为低性能机器开发软件(包括裸机软件、系统级和应用级软件)。

七、嵌入式开发特点

  • 交叉编译,不便于本机运行调试程序。
  • 嵌入式系统需要 bootloader 来启动,而 bootloader 必须首先存在于可启动介质中,这个过程需要专用工具。
  • 嵌入式系统无法通过纯软件实现单步调试,因此必须借助专用的调试器。

八、Jlink的作用

  • 下载可执行程序到目标机。
  • 在目标机上实现单步调试,便于开发bootloader。

九、USB转串口线的作用

  • 串口本身用来做嵌入式目标机的调试输出,主要目的是用来监视及调试软件。
  • 因为现在大部分个人电脑(大部分台式机和几乎全部的笔记本电脑)都未配置DB9串口,因此工作中一般直接使用USB转串口线来连接PC和开发板。
  • USB虚拟串口的实现在系统上依赖于USB转串口驱动,一般由厂家直接提供,也可以使用操作系统自带的CDC类串口驱动等。驱动主要分为2个功能,其一注册USB设备驱动,完成对USB设备的控制与数据通讯,其二注册串口驱动,为串口应用层提供相应的实现方法

十、程序的编译运行过程

  • 程序员用汇编指令编程 ——> 经汇编器汇编成二进制可执行程序文件 ——> 二进制文件被CPU读取进去 ——> CPU内部电路对二进制文件解码 ——> 解码通过则CPU执行指令、完成指令动作。
  • 如果程序员用C语言等高级语言编程,则编译器先将C语言程序编译为汇编程序,再进行上面的后续部分

在这里插入图片描述


注:源自B站朱有鹏老师.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/440847
推荐阅读
相关标签
  

闽ICP备14008679号