嵌入式软件的移植

首先明白嵌入式软件的体系结构分为四个层次:设备驱动层、操作系统层、中间层和应用软件层。

嵌入式软件的移植分两类:

    1.无操作系统的软件移植,2.有操作系统的软件移植

无操作系统的软件编写应该尽量做到“模块化”,“层次化”

 

有操作系统的软件移植主要工作集中在:引导加载程序bootloader、设备驱动程序以及操作系统中与处理器密切相关的部分代码。

 

应用软件的移植通常含义是:将应用软件从一个操作系统平台移植到另外一个操作系统平台。一个应用软件的实现涉及到两方面:

(1)这个应用软件是用哪种编程语言来编写?

(2)这个应用软件是要在哪个操作系统平台运行的?因为不同的操作系统平台所向上提供的API是不同的。

-------------------------------------------------------------------------------------------------

为了提高应用程序的可移植性应该遵守一些原则:

(1)在软件设计上,层次化与模块化设计

(2)在软件体系结构上,可以在操作系统与应用软件之间引入一个虚拟机层,或者叫操作系统抽象层。把一些通用的共性的操作系统API接口函数封装起来。

(3)在功能服务的调用上,尽量使用可移植的函数,如标准的C语言函数,或者是自己编写的函数,尽量不使用依赖于特定操作系统的API函数。比如C库函数中的fopen(),尽量不使用操作系统提供的open()。

(4)在数据类型上,尽量不使用int ,char等,一般使用宏定义,将其定义成一组可移植的数据类型。

(5)将不可移植的部分局域化。例如,将不可移植的部分代码宏定义成模块获其他,这样就容易找到我们程序中不可移植的部分,否则程序中到处散布着不可移植的代码将使得移植工作繁重而麻烦,也容易出错。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式软件C语言移植JSON串口操作需要经过以下几个步骤: 1. 理解JSON串口格式:首先需要了解JSON格式的数据结构,包括对象、数组、字符串、数字等类型,以及其在串口中的传输格式。这有助于正确解析和处理串口传输的JSON数据。 2. 寻找合适的JSON库:嵌入式系统一般资源有限,因此需要选择一个适合该平台的轻量级JSON库来进行移植。常用的轻量级JSON库包括cJSON、json-c等,选择一个适合嵌入式系统的库进行移植。 3. 移植JSON库:根据目标嵌入式系统的特性和限制,对选定的JSON库进行移植,包括编译、配置和适配。确保JSON库能够在目标系统上正常运行和提供必要的功能。 4. 实现串口通信功能:使用嵌入式系统提供的串口通信接口或者外部串口模块,实现串口的初始化、发送和接收功能。根据嵌入式系统的特性,可能需要实现中断、DMA等方式来提高串口通信的效率。 5. 解析和处理JSON数据:在接收到串口传输的JSON数据后,使用移植的JSON库对数据进行解析,提取出需要的信息,并进行相应的处理。根据目标系统的需求,可能需要将JSON数据转换成适合系统处理的数据格式。 通过以上操作,就可以在嵌入式软件C语言中成功移植JSON串口操作。这样就可以实现从串口接收JSON数据、解析和处理,并可以根据需求进行相应的反馈和操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值