当前位置: 首页 > wzjs >正文

怎么样自己做网站赚钱年入40万微服务开发平台

怎么样自己做网站赚钱年入40万,微服务开发平台,临安做企业网站,赣州网站建设优化服务没开发过OTA的工程师,职业生涯是不完整的。因为它能让设备远程更新功能,太方便了,产品有了这个功能,再也不会跟硬件工程师一起背锅了。 不过,新手玩OTA,搞不好,也会翻车,比如下载过程…

没开发过OTA的工程师,职业生涯是不完整的。因为它能让设备远程更新功能,太方便了,产品有了这个功能,再也不会跟硬件工程师一起背锅了。

不过,新手玩OTA,搞不好,也会翻车,比如下载过程中网络掉了,新固件不完整,设备可能直接"变砖"了。

今天就教你,怎么在Bootloader加靠谱的验证机制,这样哪怕网络断了,数据错了,都不会显得这么狼狈。

在单片机OTA(空中升级)中,Bootloader是个很重要的角色,它得确保新下载的固件(也就是APP)没问题,才能放心加载运行。

如果APP有毛病,比如下载不全、数据坏了或者被篡改,设备可能会罢工甚至出大乱子。

所以,Bootloader得有一套办法来检查APP到底靠不靠谱。

下面我就用尽量通俗的语言,讲讲Bootloader常见的判断方法,顺便加点代码示例帮你更好理解。

一、为什么要检查APP有没有问题?

简单来说,Bootloader检查APP是为了避免这些麻烦:

  • 数据坏了:下载时信号不好或者存储器出问题,APP内容可能出错。

  • 没下全:网络断了一会儿,APP可能只下了一半。

  • 被人动了手脚:固件被恶意改过,可能会恶意破坏/控制设备。

  • 版本不对:新APP跟硬件或者Bootloader不搭,跑不起来。

  • 放错地方了:APP没存到该存的地方,Bootloader找不到。

所以,Bootloader相当于是个"质检员",把APP好好检查一遍。

二、Bootloader怎么检查APP?

下面是Bootloader常用的几种方法,咱一个一个来看。

1. 用校验和或者CRC查数据的“身份证”
  • 啥意思:算个“校验值”跟APP自带的值比对,看数据有没有丢包或者坏掉。

  • 咋做:APP里带个校验值,Bootloader收到后自己再算一遍,比对一下。

  • 代码示例

这是无际单片机项目6的CRC16算法例子。

我们在服务器下载APP固件数据的时候,会把数据分包,比如一帧数据是200-255个字节,每帧数据都会进行CRC16校验。

  • CRC16好处:简单,算得快,单片机也能轻松搞定。

  • 缺点:只能查数据坏没坏,挡不住故意篡改。

2. 用数字签名验“出身”
  • 啥意思:就像查身份证真假,得确认APP是正宗的,没被改过。

  • 咋做:发送方用私钥给APP“盖章”,Bootloader用公钥验这个章。

  • 代码示例(简单模拟一下):

#define SIGN_ADDR (APP_START + APP_SIZE + 4)  // 签名放的位置uint8_t signature[64];
memcpy(signature, (uint8_t *)SIGN_ADDR, 64);  // 取出签名if (!verify_signature(app_data, APP_SIZE, signature)) {  // 假设有验证函数// 签名不对,可能是假货!printf("签名挂了,APP不靠谱!\n");
}
  • 好处:安全性高,篡改不了。

  • 缺点:算起来费劲,单片机可能有点吃力。

3. 看版本号对不对
  • 啥意思:检查APP的版本,确保跟硬件和Bootloader能搭上。

  • 咋做:从APP里读出版本号,比对一下。

  • 代码示例

  • #define MIN_VERSION 0x0200  // 最低版本要求uint16_t app_version = *(uint16_t *)(APP_START + 8);  // 版本号位置
    if (app_version < MIN_VERSION) {// 版本太老,不行!printf("APP版本太低,跑不了!\n");
    }
  • 好处:简单,能避免版本不匹配。

  • 缺点:只管版本,数据坏不坏它不管。

4. 检查APP放的位置对不对
  • 啥意思:确保APP在正确的存储区里。

  • 咋做:看看地址和大小有没有跑偏。

  • 代码示例

#define FLASH_BASE 0x08000000
#define FLASH_END  0x08080000if (APP_START < FLASH_BASE || (APP_START + APP_SIZE) > FLASH_END) {// 位置不对,APP有问题!printf("APP放错地方了!\n");
}
  • 好处:快,能马上发现存错了。

  • 缺点:只管位置,不管内容。

5. 用个“通关密码”
  • 啥意思:APP里有个特定标记,证明它没问题。

  • 咋做:Bootloader下载完后写个标记,启动时检查。

  • 代码示例

#define FLAG_ADDR 0x08007FFC
#define FLAG_VALUE 0xA5A5uint32_t flag = *(uint32_t *)FLAG_ADDR;
if (flag != FLAG_VALUE) {// 没通关密码,APP不靠谱!printf("标记不对,APP有问题!\n");
}
  • 好处:简单,检查快。

  • 缺点:容易被仿造,安全性不高。

三、完整的检查流程

一般来说,Bootloader不会只用一种方法,而是把几种组合起来,比如:

  1. 先看看位置对不对。

  2. 再算算CRC,确认数据没坏。

  3. 用签名验一下真假。

  4. 检查版本能不能用。

  5. 最后看标记对不对。

每一步都得过关,APP才能算“合格”,不然Bootloader就得用老固件或者停下来。

四、单片机资源少咋办?

单片机不像电脑那么强,资源有限,所以得有点小聪明:

  • 用硬件帮忙:有的单片机有CRC模块,能省不少力。

  • 分块检查:别一次算太多,分成小块慢慢验。

  • 留条后路:可以划分2个内存区域,分别存老版本和新版本的APP,万一新APP有问题,能退回老版本。

五、总结一下

Bootloader要判断APP靠不靠谱,常用的招数有校验和/CRC、数字签名、版本检查、位置检查和标记验证。这些方法各有各的强项,搭配起来用,能确保APP没毛病,既安全又好用。希望这些例子和解释能让你明白咋回事儿。


最近很多粉丝问我单片机怎么学,我根据自己从业十年经验,累积耗时一个月,精心整理一份「单

片机最佳学习路径+单片机入门到高级教程+工具包」全部无偿分享给铁粉!!!

除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手

教程资料包和详细的学习路径可以看我下面这篇文章的开头

《单片机入门到高级开挂学习路径(附教程+工具)》

《单片机入门到高级开挂学习路径(附教程+工具)》

《单片机入门到高级开挂学习路径(附教程+工具)》


文章转载自:

http://FmQ5vR42.bccLs.cn
http://c73KiriV.bccLs.cn
http://da9uw2Hv.bccLs.cn
http://g8eZSONX.bccLs.cn
http://ADq9KrMk.bccLs.cn
http://wwkJA0vP.bccLs.cn
http://mHP6hMRy.bccLs.cn
http://jnAQOjDK.bccLs.cn
http://avjZCY8k.bccLs.cn
http://u4SESbiD.bccLs.cn
http://CDu3cbtL.bccLs.cn
http://2kyGCxN8.bccLs.cn
http://66EN1ptS.bccLs.cn
http://K8Nz3sZO.bccLs.cn
http://P8gO2qyM.bccLs.cn
http://nPxupV2O.bccLs.cn
http://pomrjnNe.bccLs.cn
http://ciT08rG4.bccLs.cn
http://UgPssli9.bccLs.cn
http://74madVa7.bccLs.cn
http://w4DPPJv1.bccLs.cn
http://znFXGxk8.bccLs.cn
http://FJ1cbMyy.bccLs.cn
http://K9dSFzU9.bccLs.cn
http://R7j7kFJm.bccLs.cn
http://aEzBxuvQ.bccLs.cn
http://5q2jL3fF.bccLs.cn
http://oyh45y6g.bccLs.cn
http://azYqj1Jg.bccLs.cn
http://QPsOT5cH.bccLs.cn
http://www.dtcms.com/wzjs/711837.html

相关文章:

  • 电商网站设计的流程上海seo服务
  • 湛江市网站建设秦皇岛网站
  • 全屏网站模板凡科网h5
  • 石家庄网站建设电话咨询永兴网站建设
  • 网站建设学习心得网络建设推广
  • 徐汇制作网站哪家好建设银行网站不能建行转他行了
  • 怎么看网站是动态还是静态检测网站是否为WordPress
  • 吴忠市住房和城乡建设局网站长沙优化网站价格
  • 安卓app软件开发费用最新网站排名优化方法
  • 为什么亿唐网不做网站做品牌推广网站2024
  • 盐城网站建设厂商知名企业有哪些
  • 成都网站开发技术国外校园网站网站建设发展历程
  • 台州做网站那家好江苏最新消息今天实时
  • 上海有名的网站建设公司有哪些揭阳模板建站开发公司
  • 在哪了做网站开发网站需要什么语言
  • 做招聘网站代理商需要多少钱wordpress 个性化
  • 网站建设百度贴吧wordpress知识管理
  • 桐庐网站制作一个网站的欢迎页怎样做
  • 杭州滨江网站开发实体企业怎么做网络推广
  • 销售型网站如何做推广织梦网站怎么做新闻导航页
  • 如何有效的推广网站威海市做网站的
  • 摄影网站免费源码怎样查询网站的点击量
  • 浙江理工大学网站设计与建设我做夫人那些年网站登录
  • 安徽网新科技网站建设介绍怎么做有趣的短视频网站
  • 网站策划书的意义wordpress主机xampp
  • 哪家企业做网站好网络工程师报名
  • 川畅科技联系 网站设计爱互融网站开发合同
  • 连云港网站建设服务wordpress怎么做404页面
  • 惠州企业网站设计wordpress爱视频
  • 无锡模板网站建设找哪个好双八网站建设