http://blog.mangolovecarrot.net/2018/10/24/51/
原贴来自这里。
这篇博文用来记录学习新唐单片机时遇到的问题以及解决的过程和方法。当然也有各种坑。
希望这篇**有机会能够帮助到遇到到同样问题的朋友。 可以和STC单片机一样使用串口下载吗?
答:并非所有新唐单片机都可以ISP串口下载。只有拥有LDROM的型号才有可能可以通过串口进行程序的下载。 哪些型号支持串口下载呢?
答:
标准8051系列
出厂已带有ISP程序的型号:
W78E052D,W78E054D,W78E058D,W78E516D
N78E055A,N78E059A,N78E517A,N78E366A
以及出厂不带有ISP程序的型号:
W77E516A,W77E352,W79E(L)632,W79E(L)633
W79E(L)658,W79E(L)659
低管脚8051系列
出厂已带有ISP程序的型号:
N79E715
以及出厂不带有ISP程序的型号:
N76E616,N76E885,N79E81x,N79E84x,N79E85x
N76E003(博主追加)
出厂默认不带ISP程序的型号,使用者可以利用第三方通用型烧录器或者ICP-ISP Programmer(nu-link)自行向LDROM内写入ISP程序后即可使用ISP烧写。 ISP程序已经在LDROM内烧录好了,怎样进行ISP串口下载呢?
答:使用官方提供的ISP烧录软件ISP-ICP Utility即可。
要注意的是,N76E003并没有被该软件支持。(列表中不能选择)N76E003需要使用另一个官方提供的ISP软件
Nuvoton NuMicro ISP Programming tool 进行烧录。 使用ISP软件烧录的时候,跟STC的ISP软件一样,HEX文件或者BIN文件都支持吗?
答:只支持BIN文件。所以,用Keil生成的HEX文件需要使用第三方程序HEX2BIN转换成BIN文件再进行烧录。否则,烧录本身不会报错,但程序不会正确执行。 下载的步骤是否跟STC 单片机一样,先软件点击下载然后给模块上电,下载完成后程序自动开始运行?
答:稍微不太一样。步骤是,先点连接按钮,再给单片机上电或者冷启动,此时软件显示已经连接成功。此时单片机已经进入烧录等待状态(其实就是运行LDROM内的程序,循环等待下载指令状态),只要不断电或者重启,可以任意下载多次而不需要再次冷启动。下载完成以后单片机不会自动重启也不会立刻执行刚下载完的新程序,需要手动冷启动才会执行新程序。 N76E616支持ISP串口下载吗?
答:支持。但首先要用ICP向LDROM里写入ISP下位机程序。然后使用ISP-ICP Utility7.15选择ISP by COM port,选择APROM然后点UPLOAD,最后重启目标板子即可。
这里有个大坑一定要注意!!!
N76E616有两组串口,这个官方提供的ISP程序使用的是UART1(P5.6 TR,P5.7 TX)而不是默认的~~UART0(P2.1 TR, P2.2 TX)~~。博主在这里卡了好几天。。。 为什么N76E003官方BSP中Timer3_Delay10us函数不能正确延时
在官方提供的Delay.c中的Timer3_Delay10us函数里
T3CON = 0x07; (128分频)
需要修改成
T3CON = 0x02; (4分频)
才可以正确延时。
原因是在这之后的重载值用了4分频的宏定义,两者需要匹配。这是官方BSP代码的BUG。 为什么在Keil中进行debug时总是提示flash download failed
原因不明,但是可以试着将上电启动对象区域由LDPRG改成APPRG可以解决该问题,一旦成功一次再改回去也不影响。 为什么在Keil中进行在线仿真时数据不正确,但是非调试状态下运行时却没有问题
使用N76E003的在线仿真功能时由于仿真接口占用
P02,P16,P20
所以要避开这3个引脚。下面是官方说明。
|