新唐N76E003ISP串口下载轻体验

N76E003AT20核心板UART烧录全流程解析:从Bootloader到应用固件 本文详细解析了N76E003AT20核心板通过UART进行固件烧录的全流程。核心在于理解并实践两个关键步骤:首先必须使用ICP编程器将Bootloader烧录至LDROM;随后即可通过UART(ISP模式)便捷地更新应用固件至APROM。文章涵盖了硬件连接、软件配置、操作细节及常见问题排查,旨在帮助开发者实现高效、低成本的开发与量产升级。 阅读详情
AI摘要

本文深入解析新唐N76E003的ISP原理,探讨其串口下载机制及改进方向。通过对比STC与STM32单片机的bootloader,介绍N76E003 ISP烧录程序的过程,包括bootloader的编译与下载、启动项配置、ISP软件使用及bin文件转换方法。并提出针对ISP的自定义协议与代码精简等改进方案。

https://blog.youkuaiyun.com/ncaptain_/article/details/106235578

 

新唐N76E003ISP串口下载轻体验

 

ISP原理

ISP全称In System Programming,即在应用中编程。既然是在应用中编程,那么第一步就是你的单片机要有应用,这里的应用可以理解为单片机程序,这是一段独立的程序,在嵌入式单片机中我们一般叫它引导程序,即bootloader,bootloader在各类单片机中的定位基本一致,这是单片机上电首先进入执行的一段程序,可以是对单片机的一些配置,也可以是为ISP做准备。

STC单片机的bootloader是厂家出厂前就已经烧录进单片机,所以我们拿到手后用他们官方提供的ISP软件即通过串口把hex文件烧录进单片机,十分的方便易用,就是无法对程序进行在线调试。

相对而言,STM32单片机对于ISP的设计就比较灵活一点,它可以通过用户对单片机引脚的配置来决定单片机上电启动的位置,如下图。并且厂家也已经在出厂前就把bootloader程序烧录到系统存储区,方便ISP升级,ISP升级的协议是一些标准的文件传输协议,通过串口即可实现程序的升级。
STM32三种启动模式
新唐N76E003的ISP设计与上诉两款单片机基本一致,它在单片机内放了两片flash,如下图,LDROM专门用于存放bootloader,APROM专门用于存放用户代码,单片机启动运行哪一片的代码,以及LDROM大小的分配都是在config里面进行配置。但是与上诉单片机不同的是厂家出厂前并没有把bootloader程序烧录到LDOROM中,这迫使你要使用它的ISP功能就要先通过ICP下载器把bootloader烧录到LDROM中去,并配置一下启动项,这个槽点经常被大家吐槽,我都买了ICP下载器了还用ISP干嘛,虽然是有些鸡肋,但是在一些特殊应用情况下不得不使用ISP,那也只能来研究一下了。

N76E003内存分配

N76E003通过ISP烧录程序

虽然N76E003出厂没有烧录ISP的代码,但是官网有源码提供,将源码下载下来,(相关文件会在下文丢链接)编译一下生成hex文件,然后通过官方的ICP软件把hex烧录到LDROM里面,同时要分配好LDROM的大小和启动项,如下图。

config配置

ICP下载程序
下载完成后便可以用官方的ISP软件通过串口把程序下载到单片机的APROM里面了,如下图。

ISP下载程序
ISP软件貌似只能下载bin格式的二进制文件,所以需要在keil里面编译时加载一条命令,通过第三方软件把hex转换成bin文件,使用的软件如下图,该软件也是官方自带的,我会在文末放链接。

hex2bin软件
转换bin文件的方法,首先将上诉软件hex2bin放到输出文件夹内,然后打开keil的魔术棒,点击User,如下图,第三步添加一条命令 .\Objects\hex2bin.exe .\Objects\temp.hex
.\Objects\hex2bin.exe 这个是hex2bin软件的位置,Objects是我的工程文件输出文件夹,这个根据自己工程的目录结构修改。
.\Objects\temp.hex 这个是指需要转换的hex位置,temp.hex是工程输出的hex文件,根据自己的文件名修改。
最后别忘了✔

keilhex转bin
操作完以上步骤后编译,keil输出以下内容即代表转换成功,就可以去输出文件夹下找到bin文件了。

转换成功

针对ISP的改进方向

上诉ISP已经实现了基本的功能,即串口下载,但是看网上的评价对官方的ISP代码质量表示不屑。例如代码量过大,明明1K就能解决的事情,它非搞了2K多。每次ISP都会擦除整个APROM等等,我看了官方的代码,确实有改进的空间,我的目标改进方向主要是自定义协议,精简代码量。这样将bootloader代码精简到几百个字节,能省则省,为用户代码省下空间。协议自定义,自写上位机,脱胎换骨。想怎么来就怎么来。奈何本人懒得动,并且实际项目中还没有写到rom不够用的情况,所以暂时不要重复造轮子,先用官方的ISP程序,日后有时间可以重0到1写一套完美的ISP程序。

目前使用官方的ISP程序,启动项配置的是从LOROM启动,整个单片机启动流程如下图
上电流程

上诉流程在调试代码时就有点不方便,因为调试代码的时候要时不时的烧录程序,但是程序现在运行在APROM,你得让单片机运行到LDROM才能升级程序,这就要手动复位一下,作为强迫症着实受不了,并且在实际应用的电路中并不会单独有复位按键,只能选择重新上电。能不能搞得智能一点能,就是在代码执行APROM时也能响应上位机进行升级,那要做的就是在上位机等待连接时代码自动跳转到LDROM执行,这样就不用复位或者重新上电去升级了,所以我们现在看一下上位机在连接单片机时发出了什么内容。

通过虚拟串口,看到上位机在连接单片机时不停的在发送一帧64字节的数据,开头为0xAE,如下图
连接帧数据
这样我们可以在APROM的代码中监听串口数据,如果收到0xAE这帧数据则跳转到LDROM执行,并且程序可配置成直接上电直接从APROM中执行。关于LDROM和APROM互相跳转可以通过阅读芯片手册对CHPCON寄存器进行配置。如下图
寄存器配置
写成子函数如下
跳转到LDROM

void Jump_toLDROM(void)
{
	TA = 0xAA;
	TA = 0x55;
	CHPCON |= 02;                  // BS = 1             
	TA = 0xAA;
	TA = 0x55;
	CHPCON |= 0x80;                 //  restart                
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

跳转到APROM

void Jump_toAPROM(void)
{
	TA = 0xAA;
	TA = 0x55;
	CHPCON &= 0xFD;               // BS = 0        
	TA = 0xAA;
	TA = 0x55;
	CHPCON |= 0x80;               //  restart           
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

为防止串口监听错误可以多监听几个字节对其进行判断,如下图
跳转判断
现在的单片机执行步骤如下图
单片机代码执行步骤

以上对APROM代码进行操作一下,就可以使用官方的ISP程序实现热升级,即不用重启或者复位就可以使用ISP升级了。

总结

ISP作为升级代码的一种方式,十分的方便快捷,只需一个TTL模块便可以对代码进行升级,后续还可以通过无线模块实现OTA升级,那样就更加的方便了。

以上内容为本人原创,个人经验有限,有错误的地方或建议还请大家多多提。

以下为打包的文件,包含如下图
文件提供
下载链接 https://download.youkuaiyun.com/download/ncaptain_/12440575

N76E003串口下载解决办法 N76E003串口下载解决办法 **下载一个新塘的ICP 烧录软件 装载APROM 和LDROM 区的hex或者bin文件** 这里请注意编程选项那里要把APROM和LDROM都要勾选上。 优先选取APROM为程序启动区,不要选LDROM,这里LDROM大小选择为4K字节,加载N76E003_ISP_UART0.bin文件,用来做为串口烧录的桥梁。这个文件我都放在文件夹里.。 在APROM程序区写入串口指令,使程序跳转到LDROM区。 跳转指令如下: 串口操作如下: 这里我这里我写的一个open 阅读详情

相关推荐

N76e003单片机下载方式总结

本文介绍了N76E003单片机的三种烧录方式:ICP、ISP和N76E_ICP。ICP是主流调试方式,需使用Nulink硬件;ISP通过USB/UART下载,需先烧写LDROM引导程序;N76E_ICP是第三方方案,适合量产但不支持调试。文章详细说明了ISP的实现步骤,包括LDROM烧录配置、HEX转BIN文件方法,并提供了相关工具下载链接。三种方式各具特点,开发者可根据调试需求、成本考虑和量产需求选择适合的烧录方案。

u014798590的博客 1268

使用UART烧录N76E003AT20核心板

N76E003为带有flash的增强型8位8051内核微控制器(1T工作模式),指令集与标准的80C51完全兼容并具备更高效能。N76E003内嵌18K的Flash存储区,通常称作APROM,用于存放用户程序代码。该Flash存储区支持在应用编程(IAP)功能,即可通过片内固件更新程序代码。IAP功能同时提供用户可自行配置程序区域或数据存储区。IAP功能可以对数据存储区进行读写操作,同时读数据也可以通过MOVC指令来实现。

优信电子的博客 3012

从零开始:新塘N76E003单片机开发环境搭建与实战指南

本文为新塘N76E003单片机开发提供从零开始的实战指南。详细介绍了这款高性价比8位“小钢炮”的特性,并逐步讲解硬件准备、Keil C51开发环境搭建、Nu-Link-Me调试器配置、GPIO点灯实战、时钟系统、定时器与PWM应用等核心内容,帮助开发者快速上手N76E003项目开发。

fun88的博客 1124

通过串口烧录N76E003 单片机(ISP)

Flash存储器支持硬件编程和应用编程(IAP)。如果产品在研发阶段或产品需要更新软固件时,硬件编程就显得不太方便,采用在系统编程(ISP)方式,可使这一过程变得方便。执行ISP不需要将控制器从系统板上拆下来。通过软件控制可以重新编程设备。因此这使得更新应用程序固件ISP得到广泛的应 用。 用户可以开发自己的引导代码放在LDROM中。LDROM最大为4KB。用户开发的引导代码可以通过并行 烧录器或是电路编程器(ICP)下载到LDROM中去。 一般来说,ISP是PC与MCU之间进行通讯。PC通过串口

鬼爷杂货铺 1万+

N76E003 串口0 ISP升级源代码

位机源代码和N76E003 ISP源码都有。 注意1:N76E003的代码放在LDROM中,建议从18KB的flash中切出4KB做LDROM 注意2:目前代码里默认APROM的大小是8K,如果要烧录的APROM的bin大于8K请到ISP_USER.h中修改APROM_SIZE为实际需要的大小。 APROM_SIZE一定要大于等于实际烧录bin的大小,并且要是1KB的整数倍。 注意3:上位机目前支持加载Bin文件。 注意4:串口波特率是 38400,如果想要支持到115200的波特率还需修改N76E003 HIRC到16.6MHz,可以参考BSP中的IAP_MoidfyHIRC例程。

N76E003等新唐bootlader源码案例,以及ISP_UATR下载软件

包括N76E003等新唐bootlader源码案例,以及ISP_UATR下载软件。

新唐N76E003,N76E616烧录,调试各种问题集【坑集】

版权属于:芒果 本文链接:http://blog.mangolovecarrot.net/2018/10/24/51 转载时须注明出处及本声明 这篇博文用来记录学习新唐单片机时遇到的问题以及解决的过程和方法。当然也有各种坑。 希望这篇文章有机会能够帮助到遇到到同样问题的朋友。 可以和STC单片机一样使用串口下载吗? 答:并非所有新唐单片机都可以ISP串口下载。只有拥有LDROM的型号才有可能可以通过串口进行程序的下载。 哪些型号支持串口下载呢? 答:标准8051系列 ...

默铭 5604

国产新塘单片机-N76E003开发资料(参考手册+keil代码+芯片硬件原理图)

本压缩包包含新塘单片机开发的所有资料(参考手册+keil代码+芯片硬件原理图),还包括30个开发的例子程序,新塘单片机使用的是51内核,拥有丰富的io接口和通用的io、usart、spi、iic、定时pwm灯众多功能,同时价格单价0.5-3元一片,价格及其优势、值得学习和参考。

n76e885_新唐N76E003,N76E616烧录,调试各种问题集【坑集】

新唐N76E003,N76E616烧录,调试各种问题集【坑集】芒果•2018 年 10 月 24 日这篇博文用来记录学习新唐单片机时遇到的问题以及解决的过程和方法。当然也有各种坑。希望这篇文章有机会能够帮助到遇到到同样问题的朋友。1. **可以和STC单片机一样使用串口下载吗?**答:并非所有新唐单片机都可以ISP串口下载。只有拥有LDROM的型号才有可能可以通过串口进行程序的下载。1. **...

weixin_39922147的博客 1312

N76E003_BSP_Keil_C51_V1.0.5.rar_N76E003 串口_N76E003 串口0_n76e003_

N76E003 官方串口例程,已测试,可用

N76E003-ISP方式烧录程序资料_N76E003isp_n76e003_

N76E003-ISP方式烧录程序资料

STM8停产,新唐的N76E003 pin对pin替换STM8S003F3P6

版权声明:本文为优快云博主「qlexcel」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.youkuaiyun.com/qlexcel/article/details/81069808 随着STM8的停产,新唐的N76E003 pin对pin替换STM8S003F3P6,而且很便宜,故这个时候拿来替换使用再好不过。 下面...

芯片旅行号 4423

用Zotero+B站Kimi,我如何把一篇顶会论文快速做成组会PPT(含完整提示词)

本文介绍如何利用Zotero和Kimi快速将顶会论文转化为组会PPT,提升学术汇报效率。通过Zotero的文献管理插件和Kimi的AI提炼技术,实现从论文阅读到PPT生成的全流程自动化,帮助研究者在90分钟内完成高质量汇报准备。

weixin_30955617的博客 500

n76e003浮点_n76e003-E003,N76

本教程分享:《n76e003》,为什么新唐N76E003单片机用串口烧录不了就是和STC的51一样,用RXD,TXD,GND这三根线接根本没反应,我用STC就可以烧录每个厂家的串口烧录都有些差异,51的触发方式、波特率设置、电平阈值等和N76E003的不一样,STC的能烧,不代表新唐的就能。毕竟不像USB这样通用,要有长期的驱动硬软件配合。为什么新唐N76E003 ISP可以烧录但要勾jump t...

weixin_39854923的博客 413

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权难度简单偏上对于低权限shell获取涉及:ssti漏洞对于提权:pkexec提权。

2202_75361164的博客 633

AI+Xmind自动生成测试用例(思维导图格式)

最后:我是Walker,一个热爱分享编程知识的程序员,希望能够帮助到你!

Think_and_work的博客 2333

n76e003引脚图_老司机带你入门新塘N76E003单片机

出品21ic中国电子网一路向北lm网站:bbs.21ic.com第一个问题,究竟要玩哪一个芯?今年真是变幻莫测的一年,芯片的真是流水账的价格,一天一个样,翻翻自己的抽屉,一堆的板卡,不知玩弄哪一个,一直想玩弄一下新塘的片子,可惜论坛没怎么做过新塘的开发板评测活动(也有可能做过,可能我只是一个新人),看到很多项目都用N76E003这个片子,今天就来研究一下,给大家一个提示哈,别指望我写太深的东西!...

weixin_32519927的博客 2981

Neo4j LLM知识图谱构建器使用教程

是一个开源应用程序,旨在将非结构化数据(如PDF、文档、文本、YouTube视频、网页等)转换为存储在Neo4j中的知识图谱。该项目利用大型语言模型(如OpenAI、Gemini等)从文本中提取节点、关系及其属性,并通过Langchain框架创建结构化的知识图谱。

u013250861的博客 541

N76E003快速上手使用和大坑提示

随着STM8的停产,新唐的N76E003 pin对pin替换STM8S003F3P6,而且很便宜,故这个时候拿来替换使用再好不过。 下面开始准备资料和搭建环境: 一、直接上新唐官网,搜索“N76E003”,下载下面的资料:     前面两个BSP分别是IAR和Keil的示范例程;第三个是Keil的支持包和下载器的USB驱动;第三个是ISP的支持包,可以通过内含的软件串口下载程序,就像51...

qlexcel的专栏 3万+

SAP Fiori 个性化数据持久化实战:从 Personalizer 到 Variant 的完整设计思路

摘要:SAPUI5的Personalization服务用于持久化用户界面交互偏好(如表格列顺序、筛选条件),而非业务数据。它提供两种模式:Direct Mode适合单一实体存储,Container Mode支持多实体和变体管理。开发时需注意数据存储位置差异(本地调试用local storage,生产环境由前端服务器处理),避免与业务数据或Bookmark服务混淆。典型应用场景包括表格布局保存和查询方案管理,需根据需求选择模式。该服务能有效提升Fiori应用的用户体验连续性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 130

2020年大连理工大学《单片机原理及应用》期末试卷

2020年大连理工大学《单片机原理及应用》期末试卷 此试卷为大连理工大学2020年《单片机原理及应用》期末试卷; 大连理工大学2020年《单片机原理及应用》期末试卷; 大连理工大学2020年《单片机原理及应用》期末试卷。 ...

无名何许人的博客 1479

n76e003浮点_N76E003快速上手使用和大坑提示

随着STM8的停产,新唐的N76E003 pin对pin替换STM8S003F3P6,而且很便宜,故这个时候拿来替换使用再好不过。下面开始准备资料和搭建环境:一、直接上新唐官网,搜索“N76E003”,下载下面的资料:前面两个BSP分别是IAR和Keil的示范例程;第三个是Keil的支持包和下载器的USB驱动;第三个是ISP的支持包,可以通过内含的软件串口下载程序,就像51单片机一样,但是前提是先...

weixin_35767799的博客 704

uniapp - 最新微信小程序手机号一键登录功能效果,uniapp小程序实现手机号码一键登录,uniapp微信小程序端通过手机号授权完成立即登录操作(详细示例源码,新手小白一键复制开箱即用)

uniapp,微信小程序,uniapp小程序平台,uniApp手机号一键登录,uniapp小程序端手机号一键登录功能,实现微信小程序手机号一键登录,在uniapp中实现获取手机一键登录功能,uniapp手机号快捷登录,uniapp微信小程序授权登录并获取手机号,微信小程序手机号快速验证组件调用方式,uniapp小程序怎么用手机号一键登录,uniapp一键登录流程及代码,如何获取手机号一键登录到小程序,微信小程序获取本机手机号一键登录功能,新手详细教程,详细手机一键登录完整示例代码,uni-app微信unia

✅ 精选推荐文章 1万+

N76E003串口ISP烧录全攻略:原理、接线、软件配置与故障排查

在系统编程(ISP)是单片机开发中的一项基础且关键的技术,它允许开发者通过芯片自带的通信接口(如UART)直接更新程序,无需专用编程器,极大降低了开发和维护成本。其核心原理在于芯片内部固化的引导程序(Bootloader),通过特定的硬件触发条件(如复位时序和引脚电平)激活,并与上位机软件建立通信协议,完成程序的擦除、写入与校验。这项技术对于快速原型开发、现场升级和小批量生产具有重要价值,广泛应用于智能家居、工控设备和物联网节点等场景。本文以新唐N76E003单片机为例,深入解析其串口ISP的完整流程,涵盖

weixin_34239169的博客 304

SQL面试题——最大连续登陆问题

最大连续登陆是我们计算比较常用的指标,我们可以将其当成一个经典的SQL模型,后面我们也会陆续总结出其他的模型,你还知道其他的比较经典的SQL 吗?欢迎分享,或者你还知道其他的关于计算连续的指标?最大连续登陆重要的是计算思想,最大连续才是关键,登陆只是一个场景,要学会举一反三。

9012

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: AD绘制PCB时,贴片封装器件的焊盘间距小于10Mil,报错解决
下一篇: pads9.5创建电源符号
oshan2012
博客等级 码龄15年 300粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值