dspic33e专题

【dsPIC33E】内部Flash读写

基于某些安全考虑或者降成本,我们不希望使用外部存储器件,但有时我们由需要记录一下参数,确保断电不丢失,这时,富余的内部代码存储Flash就派上用场了。 不同于外部存储器,几乎所有的内部Flash读写都十分麻烦,甚至需要使用到汇编。 下面我们将讲述dsPIC33E如何读写内部Flash,此处以dsPIC33EP256GP506为例。   示例代码下载:https://download.csd

【dsPIC33E】Bootloader(四)Bootloader上位机

前面已经将下位机部署完毕,本节将讲述上位机。 上位机的工作相对比较简单,主要就是解析Hex文件,然后将数据发送到下位机。注意发送的Hex文件只能是User App,不能带有Bootloader,否则可能会覆盖之前的Bootloader,导致出错。 上位机源码下载地址:https://download.csdn.net/download/u010875635/10819828   上位机

【dsPIC33E】Bootloader(三)Bootloader下位机

前面2节讲述了dsPIC33E的Flash存储结构以及Hex格式,接下来开始讲述如何编写Bootloader下位机和上位机。 本节讲述下位机的设计,考虑到执行效率和烧录时间,我们将主要解析工作放到上位机中,因为PC的执行速度远高于MCU。在上位机中,我们将Hex文件解析成一组一组的地址和数据组合,然后将一个地址和数据打包发送到Bootloader,Bootloader将其写入对应地址内。 我们

【dsPIC33E】Bootloader(二)Microchip的Hex文件结构介绍

市面上大多数单片机的Hex文件都是基于Intel Hex,而dsPIC33E也不例外,dsPIC33E支持的格式为Intel HEX32(INHX32)。 hex文件以ascii形式,按照行来记录数据 每一行从:开始,每至少2个字符表示一组16进制数据,格式为 :BBAAAATTHHHH....HHHCC                      BB -- 16进制,表示此行数据长度字节数,

【dsPIC33E】Bootloader(一)Bootloader的介绍与Flash结构

对于嵌入式开发而言,Bootloader几乎与操作系统同等重要,它可以让我们摆脱MCU官方工具,定制自己的烧录工具,不仅提高产品辨识度,同时也大大减少了对外引脚数量(例如兼容通信的Uart或CAN等,而不需要另外接JTAG)。 要开发Bootloader,相对于普通程序,是有一定难度的,这其中涉及到MCU的工作原理、内部存储结构等,而且仅仅依靠C语言可能无法完成,有时需要配合汇编来精确执行特殊指