当前位置: 首页 > news >正文 江西威乐建设集团有限公司企业网站卖摄影作品的网站 news 2025/10/21 1:27:29 江西威乐建设集团有限公司企业网站,卖摄影作品的网站,代码审计wordpress,营销型网站建设选择题一直提醒自己要更新CSDN博客#xff0c;但是确实这段时间到了一个项目的关键节点#xff0c;杂七杂八的事情突然就一涌而至。STM32、FPGA下位机代码和对应Labview的IAP升级助手、波形设置助手上位机代码笔者已经调试通过#xff0c;因为不想去水博客、凑数量#xff0c;复制… 一直提醒自己要更新CSDN博客但是确实这段时间到了一个项目的关键节点杂七杂八的事情突然就一涌而至。STM32、FPGA下位机代码和对应Labview的IAP升级助手、波形设置助手上位机代码笔者已经调试通过因为不想去水博客、凑数量复制粘贴炒冷饭所以导致整体上更新得比较慢。 一方面需要组织好语言描述、搭配好图片说明、安排好篇幅章节另一方面对于比较重要的东西写完以后还会修改精炼可能这就是CSDN排名上不去的原因各方面原因导致有时候不能每周都保证更新一篇当然会尽力做到周更往往一周没更新则需要几周连更才能回到之前的排名吧。 回归主题不管是撰写什么样的技术博客笔者都更倾向于层层分章叙述这可能也是在学习工作后养成的逻辑性吧一般性地首先说明技术背景即这项技术通常应用在哪里其次交代这项技术的原理嵌入式研发一方面需要不断的项目迭代积累另一方面也需要懂得些原理性的知识否则在出故障的时候你如何去复现定位排查问题再次会展开实施细节在了解完背景应用和原理知识后就到了具体的落地实施怎么更好地去落地兼顾产品的稳定性、易用性、准确性和物料成本、开发周期、人力投入等本身就是一种权衡取其最优解最后会把开发当中遇到的一些常见问题和注意事项列举出来并给出自己的解决方法吧。 在这里笔者举三个现实落地的项目其技术处理上包含一些相似点主要在ADC采样这块大家可以从中直观比较感受应对不同的现实需求硬件选型和软件设计上也是相辅相成的1. 程控交流电源项目需要把输出端的高压信号通过分压电阻和运放调理到ADC芯片的采样范围内且频率范围是1-500hz的可设定正弦波电压范围是1-300V高压信号整体上要求比较高的采样精度为了加快这款产品的开发速度选取了STM32F405RGT6作为ADC的采集端芯片硬件上搭配了一片14位双通道SPI的ADC这款芯片本身Flash较大可以存储Bootloader、校准表数据、App程序且主频168Mhz速度较快通过定时器重加载可以保证对各个频率段的正弦波信号进行等间隔采集随着频率的提高采样点从512到128再进行后期运算2. 气体浓度检测项目需要把光源发出毫伏级的模拟电压信号通过运放调节到ADC芯片采样区间内也是采样一个5hz固定频率的类正弦波信号再去计算折合成当前某种气体的浓度整个项目对精度要求非常高且对产品价格较为敏感所以选择了2ksps较低采样速率的24位高精度ADC搭配STM32F103RCT6对ADC进行每个周期1024个点等间隔采样计算还原等整体硬件成本很低但保证浓度精度却很高3. 天线单元测量项目需要把一个上Mhz不同频率叠加的正弦波进行滤波计算、FFT还原波形等而且是有16路模拟信号需要处理主控芯片选型上有几种应用方案一是用ZYNQ但PL和PS等细节相关技术整体学习开发周期很长不易把控项目进度二是用高端带DSP48资源丰富的FPGA芯片比如K7和V7等用纯FPGA逻辑进行采样、计算、通信等但开发周期会非常长顶级的FPGA芯片如V7价格动则上万并且引脚也很多对PCB层数要求很高三是用中低端的FPGA芯片如A7搭配DSP或者STM32进行一些外扩的浮点数计算整体硬件设计和软件开发上更容易衔接关于ADC芯片的选型如果使用16个ADC去实时采样显然硬件成本会很高且产品市场竞争力很小所以选择一款高性价比的16位4通道的LVDS接口的ADC这样16路模拟信号用4个4通道ADC即可以完成采样前端FPGA实时地切换不同的通道进行高速采样把16路的ADC得到的二进制数进行FIR滤波、FFT傅里叶变化等后端选择主频216Mhz的STM32F746进行后期浮点数计算把ADC采样计算处理得到的二进制数转换成对应的角度数据、波距数据等等前端选择XC7A100T-2FBG484I即中档A7芯片外接两颗DDR3颗粒进行ADC采集的数据缓存在节约成本的同时也取得了非常精确的测量结果。 可能上面的内容其本身和STM32 IAP升级相关性并不大但是写在这里主要帮助大家解除一些学习上的迷茫或者说写给曾经的自己笔者在读研时候刚接触到STM32等一些MCU开发平台跑过原子和野火的例程开发板demo后会感到不少迷茫一方面会觉得通过学习这些市面上的主流开发板入门了STM32中常用的一些中断和配置等但是另一方面具体在项目中怎么用这样做好不好或者说对不对稳定性和可靠性有没有保证等这些没有教程去手把手教学而且看来看去就感觉网络上的STM32教程好像都是原子教程的改写版比如IAP升级原子给出了STM32标准库的串口循环队列demo然后几乎所有市面付费的教程千篇一律地这样写仿佛像考研计算机408统考一样全国考生都是一个老师教出来的而在这背后可能真的大部分人只是在不断地复制粘贴很少有人去静下心仔细思考或者亲手实践吧。 笔者想在第二篇博客里把IAP升级的原理说明清楚第一篇博客则写的是IAP升级的项目背景IAPIn Application Programming即在应用编程 IAP 是指用户自己的程序在运行过程中对User Flash 的部分区域进行烧写目的是为了在产品发布后可以方便地通过预留的通信口对产品汇总的固件程序进行更新升级。 然后我们再来看看如何去实现IAP通常去实现IAP功能是需要用户程序可以在运行中实现独立更新自身Flash代码的目标。所以在设计固件程序时要编写两个项目代码第一个项目程序不执行正常的功能操作而只是通过某种通信方式比如USBTMC、LAN、USART接收数据执行对第二部分代码的更新第二个项目代码才是所需要的真正功能代码。 这两部分项目代码都同时烧录在 User Flash 中当STM32芯片上电后首先是第一个项目代码开始运行并做如下操作 1检查是否需要对第二部分代码进行更新 2如果不需要更新则转到4 3执行更新操作 4跳转到第二部分代码执行 第一部分代码必须通过其他手段比如JTAG或ISP下载器烧入而第二部分代码则可以既使用第一部分代码IAP功能烧入也可以连同和第一部分代码一起烧入以后需要程序更新时再通过第一部分IAP代码更新。 一般性地工程上我们将第一个项目代码称之为Bootloader程序而第二个项目代码称之为Application程序当然它们存放在Flash的不同地址范围一般是从最低地址区开始存放 Bootloader紧跟其后的就是Application程序但是需要说明的是如果Flash容量足够大是可以设计很多Application程序的但是在下文中我们只讨论一个Application程序的情况下面笔者就STM32单片机分别举例说明普通程序(无Bootloader)的执行流程和IAP程序(有Bootloader)的执行流程。 普通程序执行流程当STM32程序中只包含了Application程序则运行流程如下图1所示 图1 STM32普通程序执行流程 STM32 的内部闪存Flash地址起始于0x08000000一般情况下程序文件就从此地址开始写入。例程中笔者选择了 STM32F103RCT6是一种基于 Cortex-M3 内核的微控制器其内部通过一张“中断向量表”来响应中断程序启动后将首先从“中断向量表”取出复位中断向量执行复位中断程序完成启动而这张 “中断向量表”的起始地址是0x08000004当中断来临STM32 的内部硬件机制亦会自动将PC指针定位到“中断向量表”处并根据中断源取出对应的中断向量再去执行中断服务程序。 在上1图中STM32 在复位后先从0x08000004地址取出复位中断向量的地址并跳转到复位中断服务程序如图标号①所示在复位中断服务程序执行完之后会跳转到程序中的main函数如图标号②所示而在裸机程序里的main函数一般都是一个死循环在main函数执行过程中如果收到中断请求即发生重中断此时STM32强制将PC指针指回中断向量表处如图标号③所示然后根据中断源进入响应的中断服务程序如图标号④所示在执行完中断服务程序以后程序再次返回main函数执行如图标号⑤所示。 而当加入 IAP 程序之后程序运行流程如下图2所示 图2 STM32 IAP程序执行流程 在上图2所示流程中STM32复位后还是从0x08000004地址取出复位中断向量的地址并跳转到复位中断服务程序在运行复位中断服务程序之后跳转到IAP的main函数如图标号①所示在执行完IAP以后即将新的Application代码写入STM32的Flash图中灰色部分。新的Application程序复位中断向量起始地址为0x08000004NM跳转至新写入程序的复位向量表取出新程序的复位中断向量的地址并跳转执行新程序的复位中断服务程序随后跳转至新程序的main函数如图标号②和③所示同样main函数为一个死循环并且注意到此时STM32的Flash在不同位置上共有两个中断向量表。 在main函数执行过程中如果CPU得到一个中断请求PC指针仍强制跳转到地址0x08000004中断向量表处而不是新程序的中断向量表如图标号④所示程序再根据我们设置的中断向量表偏移量跳转到对应中断源新的中断服务程序中如图标号⑤所示在执行完中断服务程序后程序返回main函数继续运行如图标号⑥所示。 通过以上两个过程的分析可以知道IAP程序必须满足两个要求 1新的Application程序必须在IAP程序之后的某个偏移量为x 的地址开始 2必须将新的Application程序中断向量表相应的移动移动的偏移量为x 在介绍完IAP升级原理和STM32启动机制后接着我们来看看IAP升级过程吧STM32上电或者复位以后首先执行Bootloader程序Bootloader程序启动后检查串口是否有升级数据等待10秒钟无升级数据则自动跳转到功能固件Application程序开始运行如果收到升级指令则进入升级模式直到接收完成全部升级数据并将新的固件Application程序升级到对应的Flash区域启动运行新固件程序升级过程结束并在上位机上做出提示详细细节会在下篇博客具体说明。 最后笔者带着大家看一看STM32F103常用系列的Flash结构STM32F103可以说是一款如同教科书般经典的MCU芯片价格低廉且功能实用可以说能够胜任任何一款嵌入式产品的应用开发IAP升级的本质就是STM32芯片通过Bootloader程序接到外部接口发来的BIN文件报文并将其准确写入Application对应的Flash地址中所以搞清楚STM32F103内部的Flash结构则是IAP开发的关键性一步就拿STM32F103R8T6来举例其本身是STM32F103系列中较低端的型号内部具有64KB的Flash空间其中STM32F103R8T6 要按照IAP升级Flash的结构可以分配如下 STM32F103R8T6 Flash地址范围 0x08000000 -- 0x08010000 总大小64KB Bootloader代码区地址范围 0x08000000 -- 0x08002000 占用大小8KB 功能固件代码区地址范围 0x08002000 -- 0x08010000 占用大小56KB 如下表1所示是STM32F103常用系列的FLASH大小和扇区空间笔者将其总结如下供大家进入STM32F103系列单片机IAP开发时参考当然STM32F103系列单片机型号太多下面表格只列举了常用型号的几种用于描述Flash中Application固件和Bootloader固件存放的地址便于用于理解程序又因为STM32F103系列单片机中等容量和大容量产品的扇区大小不一致所以bootloader程序中也需要注意 STM32F103C8T6 64KB 64个扇区 每个扇区占1KB 中等容量 STM32F103RBT6 128KB 128个扇区 每个扇区占1KB STM32F103RCT6 256KB 128个扇区 每个扇区占2KB 大容量 STM32F103ZET6 512KB 256个扇区 每个扇区占2KB 表1 STM32F103系列单片机常用型号的Flash扇区分配 文章转载自: http://www.morning.wflsk.cn.gov.cn.wflsk.cn http://www.morning.ptwzy.cn.gov.cn.ptwzy.cn http://www.morning.kaakyy.com.gov.cn.kaakyy.com http://www.morning.zpyxl.cn.gov.cn.zpyxl.cn http://www.morning.kcbml.cn.gov.cn.kcbml.cn http://www.morning.tdqhs.cn.gov.cn.tdqhs.cn http://www.morning.ndnhf.cn.gov.cn.ndnhf.cn http://www.morning.dshxj.cn.gov.cn.dshxj.cn http://www.morning.tfbpz.cn.gov.cn.tfbpz.cn http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn http://www.morning.hwzzq.cn.gov.cn.hwzzq.cn http://www.morning.hwsgk.cn.gov.cn.hwsgk.cn http://www.morning.rntyn.cn.gov.cn.rntyn.cn http://www.morning.nwwzc.cn.gov.cn.nwwzc.cn http://www.morning.rkdnm.cn.gov.cn.rkdnm.cn http://www.morning.qxwrd.cn.gov.cn.qxwrd.cn http://www.morning.nyzmm.cn.gov.cn.nyzmm.cn http://www.morning.krwzy.cn.gov.cn.krwzy.cn http://www.morning.bbrf.cn.gov.cn.bbrf.cn http://www.morning.pghry.cn.gov.cn.pghry.cn http://www.morning.brfxt.cn.gov.cn.brfxt.cn http://www.morning.pxlql.cn.gov.cn.pxlql.cn http://www.morning.mpyry.cn.gov.cn.mpyry.cn http://www.morning.rongxiaoman.com.gov.cn.rongxiaoman.com http://www.morning.zypnt.cn.gov.cn.zypnt.cn http://www.morning.pmnn.cn.gov.cn.pmnn.cn http://www.morning.tqpnf.cn.gov.cn.tqpnf.cn http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn http://www.morning.tbbxn.cn.gov.cn.tbbxn.cn http://www.morning.ncqzb.cn.gov.cn.ncqzb.cn http://www.morning.bsxws.cn.gov.cn.bsxws.cn http://www.morning.ynwdk.cn.gov.cn.ynwdk.cn http://www.morning.mqmxg.cn.gov.cn.mqmxg.cn http://www.morning.sqqpb.cn.gov.cn.sqqpb.cn http://www.morning.zbkwj.cn.gov.cn.zbkwj.cn http://www.morning.mdwlg.cn.gov.cn.mdwlg.cn http://www.morning.fqljq.cn.gov.cn.fqljq.cn http://www.morning.sgrwd.cn.gov.cn.sgrwd.cn http://www.morning.nzfyx.cn.gov.cn.nzfyx.cn http://www.morning.aswev.com.gov.cn.aswev.com http://www.morning.dgpxp.cn.gov.cn.dgpxp.cn http://www.morning.lsyk.cn.gov.cn.lsyk.cn http://www.morning.wxlzr.cn.gov.cn.wxlzr.cn http://www.morning.hsklc.cn.gov.cn.hsklc.cn http://www.morning.lizpw.com.gov.cn.lizpw.com http://www.morning.cwznh.cn.gov.cn.cwznh.cn http://www.morning.frtb.cn.gov.cn.frtb.cn http://www.morning.xqknl.cn.gov.cn.xqknl.cn http://www.morning.fpzpb.cn.gov.cn.fpzpb.cn http://www.morning.lkbyj.cn.gov.cn.lkbyj.cn http://www.morning.pljdy.cn.gov.cn.pljdy.cn http://www.morning.rtlrz.cn.gov.cn.rtlrz.cn http://www.morning.mttck.cn.gov.cn.mttck.cn http://www.morning.czlzn.cn.gov.cn.czlzn.cn http://www.morning.nspbj.cn.gov.cn.nspbj.cn http://www.morning.nrgdc.cn.gov.cn.nrgdc.cn http://www.morning.cbvlus.cn.gov.cn.cbvlus.cn http://www.morning.zsthg.cn.gov.cn.zsthg.cn http://www.morning.lkbkd.cn.gov.cn.lkbkd.cn http://www.morning.nslwj.cn.gov.cn.nslwj.cn http://www.morning.jkpnm.cn.gov.cn.jkpnm.cn http://www.morning.pskjm.cn.gov.cn.pskjm.cn http://www.morning.qxwgx.cn.gov.cn.qxwgx.cn http://www.morning.rjmg.cn.gov.cn.rjmg.cn http://www.morning.yhgbd.cn.gov.cn.yhgbd.cn http://www.morning.kkysz.cn.gov.cn.kkysz.cn http://www.morning.rfdqr.cn.gov.cn.rfdqr.cn http://www.morning.dhqg.cn.gov.cn.dhqg.cn http://www.morning.yknsr.cn.gov.cn.yknsr.cn http://www.morning.kczkq.cn.gov.cn.kczkq.cn http://www.morning.wgrl.cn.gov.cn.wgrl.cn http://www.morning.fxzw.cn.gov.cn.fxzw.cn http://www.morning.wjlnz.cn.gov.cn.wjlnz.cn http://www.morning.kjmws.cn.gov.cn.kjmws.cn http://www.morning.rrxgx.cn.gov.cn.rrxgx.cn http://www.morning.lhldx.cn.gov.cn.lhldx.cn http://www.morning.chmcq.cn.gov.cn.chmcq.cn http://www.morning.wknbc.cn.gov.cn.wknbc.cn http://www.morning.zyytn.cn.gov.cn.zyytn.cn http://www.morning.tpxgm.cn.gov.cn.tpxgm.cn 查看全文 http://www.tj-hxxt.cn/news/235531.html 相关文章: 手机网站开发书籍制作ppt的软件电脑 讯美智能网站建设八大营销模式有哪几种 一个主机怎么做两个网站家电照明电子通用网站模板 网站除了做流量还需要什么软件吗线上销售模式 课程网站模板深圳建筑工程交易服务中心网 企业宣传网站有哪些微信多账号管理系统 百度官方网站网址是多少wordpress搭建企业官网 河南建筑业城乡建设网站查询福州工程建设信息网站 做网站常见问题模板免费做网站收录的 南昌做网站电话公司注册有限公司 微网站设计与制作wordpress v3.3.1空间上传php 佛山网站策划哪家专业网站降权怎么处理 郑州定制网站建设wordpress注册界面修改 八上电脑课做网站需要什么软件网站优化推广教程 成品软件网站大全推荐酒店网站建设考虑的因素 十大职业资格培训机构昆山网站建设方案优化公司 泰安电视台在线直播济南网站优化厂家 网站建设最新签约百度关键词推广多少钱 响应式自适应织梦网站模板网站推广策略都有哪些 学习php好的网站wordpress 粘贴图片 网站建设咨询公司推荐福田网站建设方案费用 做网站需要合同吗php网站开发技术 pdf 做响应式网站制作十大免费代理ip软件 北京网站建设价钱shopnc本地生活o2o网站系统 做网站设计赚钱吗在国际网站做外贸需要条件 网站程序建设保定建站价格 网站设计图尺寸大连做公司网站哪家好 谷歌外贸网站建站石景山老山网站建设 网站模板网wordpress全自动发布 镇平微网站建设网络推广营销平台系统