资产监测设备之华大单片机Boot软件升级

本文介绍了如何通过软件升级提升资产监测设备的性能,特别是针对华大单片机进行Boot升级的过程。设备主要用于实时监测货物位置和状态,防止在物流运输中出现丢失。升级流程包括上位机数据帧解析及处理,对从事物联网设备开发的读者具有参考价值。
摘要由CSDN通过智能技术生成

近期笔者在研究如何从软件方面提升资产监测设备的性能,从而提升用户的使用体验感。
在这里插入图片描述

资产监测设备的主要作用是帮助用户监测设备的实时位置、实时状态避免运动中的货物出现丢失等情况。环境监测设备在智慧物流方面发挥了重要的作用,例如在运输贵重货物过程中,只需要将该设备安装在货物中,用户即可远程了解货物的位置、货物是否出现暴力扔件、以及避免货物在运输过程中的丢失。
在这里插入图片描述

资产监测设备中的华大单片机,对该设备的工作发挥了重要的作用。笔者的软件团队对单片机进行了软件升级。
在这里插入图片描述

具体流程如下:
/**
** \brief 上位机数据帧解析及处理
**
** \param [in] None
**
** \retval Ok APP程序升级完成,并接受到跳转至APP命令
** \retval OperationInProgress 数据处理中
** \retval Error 通讯错误
**
******************************************************************************/
en_result_t Modem_Process(void)
{
uint8_t u8Cmd, u8FlashAddrValid, u8Cnt, u8Ret;
uint16_t u16DataLength, u16PageNum, u16Ret;
uint32_t u32FlashAddr, u32FlashLength, u32Temp;
if (enFrameRecvStatus == FRAME_RECV_PROC_STATUS) //有数据帧待处理, enFrameRecvStatus值在串口中断中调整
{
u8Cmd = u8FrameData[PACKET_CMD_INDEX]; //获取帧指令码
if (PACKET_CMD_TYPE_DATA == u8FrameData[PACKET_TYPE_INDEX]) //如果是数据指令
{
u8FlashAddrValid = 0u;

        u32FlashAddr = u8FrameData[PACKET_ADDRESS_INDEX] +      //读取地址值
                       (u8FrameData[PACKET_ADDRESS_INDEX + 1] << 8)  +
                       (u8FrameData[PACKET_ADDRESS_INDEX + 2] << 16) +
                       (u8FrameData[PACKET_ADDRESS_INDEX + 3] << 24);
        if ((u32FlashAddr >= (FLASH_BASE + BOOT_SIZE)) && (u32FlashAddr < (FLASH_BASE + FLASH_SIZE)))  //如果地址值在有效范围内
        {
            u8FlashAddrValid = 1u;                       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值