673104326 发表于 2012-4-7 23:21:31

Ds30 Loader-----几乎支持所有 PIC 系列单片机的 BootLoader!

本帖最后由 673104326 于 2012-4-7 23:21 编辑



最近弄了弄 DsPic33FJ256MC710 的BootLodaer ,去官网上下的例程,底层的程序都有,但上位机的软件却是用 命令提示符 来操作的,实在有点不靠谱。

就去网上找了找,看到了这个Ds30 Loader ,下下来整了差不多一天,还真可以完美的运行了,唯一的一点不足就是底层是 汇编 写的,还好要修改的东西不太多。

现在把它传上来,希望能帮到有 需要 用的人。

附件有 三个 文件,分别 是 Ds30 Loader 的上位机软件,一份参考手册(底层要修改的东西都在里面有提示了),还有两个我修改的例程。

分别是对应 DsPic30F5013 和 DsPic33FJ256MC710 的例程,硬件是用的都是 10M 的 外部时钟源,但前者内部 时钟为 20M ,后面的为 40M。


那个上位机的软件一直上传不了,改天再传吧,有需要的可以先留个邮箱。

kevin_me 发表于 2012-4-7 23:26:38

这个能直接加载hex文件对芯片进行烧写?目标器件与pc机的连接方式是怎样的请问?

673104326 发表于 2012-4-7 23:49:19

kevin_me 发表于 2012-4-7 23:26
这个能直接加载hex文件对芯片进行烧写?目标器件与pc机的连接方式是怎样的请问? ...

第一次要用烧写器把底层的 Bootloader 写进去,以后就可用 串口 或者 Can口直接烧写了,我用的是 USB-232.

目前的程序应该是不能把 Bootloader的 程序和自己的程序 结合起来,想以后有时间了再细看看,能不能都写在一起。

kevin_me 发表于 2012-4-8 00:06:34

哥们邮件留一个。
你这个帖子太重要了。
翁一直拿dspic30f做项目。
每次涉及到软件升级都特别麻烦,原来官方早就开放了bootloader接口,我竟然不知道。
看了你的帖子我去官网找到文档AN1049看了看,说是串口或者can接口等均可实现,我想要是能通过以太网接口就更好了,不过没看到这一点。
我的想法是拿vb做一套界面,以后我编译最新的hex文件之后发给用户,让他远程通过以太网接口烧至芯片即可。

有新想法我就继续跟这个帖子。
希望与你多交流,谢谢。

kevin_me 发表于 2012-4-8 00:37:06

我的邮箱

newday@qq.com 麻烦楼主把上位机传给我一份 谢谢

kevin_me 发表于 2012-4-8 00:38:08

我用手机回的2个楼 咋在电脑上看不到啊 问阿莫

673104326 发表于 2012-4-8 09:46:38

kevin_me 发表于 2012-4-8 00:37 static/image/common/back.gif
我的邮箱

麻烦楼主把上位机传给我一份 谢谢

已发送,请注意查收。

还有可能 是我说的不太清楚。现在我上传的这个并不是官网上的,而是从网上找的一个三方的软件。上位机软件是写好的,不用做任何代码修改的。

它的底层是开源的,要针对不同的单片机以及硬件情况进行不同的程度的修改,但总体来说还是比较容易的。

Microchip 官网也有 BootLoader ,但针对30F、33F 以及 24 系列的 底层和上位机的代码都是开源的,但 上位机 的软件是要用 Dos 环境下的 命令提示符 才能运行的。

我试了试,一直说 不能打开 .hex 文件。如果要做成比较友好的介面还得自己修改 上位机的代码 ,相当于要把它的上位机代码完全看懂,更主要的是我也不太会改,所以去网上找了这个三方的软件。

这两个 BootLoader 是没有任何联系的,它们的代码是完全不一样的。

我想我说的应该够清楚了,你别弄混了啊。

673104326 发表于 2012-4-8 09:47:31

kevin_me 发表于 2012-4-8 00:38 static/image/common/back.gif
我用手机回的2个楼 咋在电脑上看不到啊 问阿莫

是啊,我的也看不到,还以为是昨天的网不好呢。{:sweat:}

UNIFAN 发表于 2012-4-8 09:54:41

这个支持全系PIC的MCU吗?

673104326 发表于 2012-4-8 10:02:03

原文如下:

ds30 Loader is a boot loader supporting PIC12, PIC16, PIC18, PIC24, and dsPIC families of
MCUs from Microchip. It supports all devices in each family out of the box (those in
production).

这个说的比较笼统,看看上面那张图片更具体些,它支持的 MCU 都已经列出来了,而且这个是一直有更新的。

kevin_me 发表于 2012-4-8 11:51:53

673104326 发表于 2012-4-8 09:46 static/image/common/back.gif
已发送,请注意查收。

还有可能 是我说的不太清楚。现在我上传的这个并不是官网上的,而是从网上找的一 ...

感谢,已经收到。

huayuliang 发表于 2012-4-8 12:04:54

http://mrmackey.no-ip.org/elektronik/ds30loader/

673104326 发表于 2012-4-8 12:26:39

huayuliang 发表于 2012-4-8 12:04 static/image/common/back.gif
http://mrmackey.no-ip.org/elektronik/ds30loader/

谢谢,光想着往上传附件了,忘了把网址贴出来了。

我又重新下了一份,现在能传上来了,有需要的朋友可以直接下了。

kevin_me 发表于 2012-4-8 13:29:47

673104326 发表于 2012-4-8 12:26 static/image/common/back.gif
谢谢,光想着往上传附件了,忘了把网址贴出来了。

我又重新下了一份,现在能传上来了,有需要的朋友可以 ...

哥们,东西我下载了。
发现2个问题:
1.底层的驱动只有16F 18F,没有看到30F的啊
2.这个ds30 loader软件不开源吗?好想拿到源代码,然后整合到自己的项目中去

哎,我太贪心了

673104326 发表于 2012-4-8 15:10:05

那你还是看我发你邮箱里的那一份吧,那里面的有 30F 系列的,我还说这个怎么这么小呢,才 1 M 不到,原来是少东西了。

我又重新发了一遍,这次里面的是全的了,连代我底层改好的程序也有了,你应该能直接用。

这个上位机的代码就是不开源的,Microchip 官网的下载的是开源的,那你应该去改那个了。

armok 发表于 2012-4-24 12:43:02

cool !

liansh2002 发表于 2012-6-13 10:51:57

感谢楼主分享,这几天也在测试这个,发现几个问题。
1.这个怎么和自己的程序整合在一起,现在都是要现在芯片里烧入这个ds30,然后再通过它的上位机程序下载hex,能不能把自己的源代码和这个整合在一起?我把ds30 loader的代码复制进自己的程序里,就会因为CONFIG位重复不能编译通过,但是ds30 loader又要求不能使用代码保护,但是在实际产品中这怎么可能!
2.这个程序烧写进去以后看手册在PIC24FJ中是占用最后一段程序空间,但是这个又怎么保证自己的程序会错误的写入这段地址里!现在就是通过ds30串口烧写几次后就会提示flash验证错误,必须要重新烧写ds30 loader的程序才行。

eagle_avr 发表于 2012-6-13 18:22:55

研究研究!

673104326 发表于 2012-6-13 22:44:09

liansh2002 发表于 2012-6-13 10:51 static/image/common/back.gif
感谢楼主分享,这几天也在测试这个,发现几个问题。
1.这个怎么和自己的程序整合在一起,现在都是要现在芯 ...

你说的第一个问题我也没解决啊,我的配置位是没有加保护的,要是加保护的话可能就得考虑别的办法了吧。想要把它和自己的程序整合到一起比较复杂,目前还没有能力做到啊,毕竟这些东西也只是

我直接拿来用的,并没有深入的所 汇编 的代码和 相关的细节从头到尾看一遍。

第二个问题,大多数芯片的BootLoader 的代码是很小的,是放在Flash的最顶端的 。
Size                     Placement
PIC12F 192 words* End of memory
PIC16F 192 words* End of memory
PIC18F 7 pages* End of memory
PIC18FJ 1 page 2nd last page
PIC24F 4 rows* End of memory
PIC24FJ 1 page 2nd last page
PIC24H 1 page End of memory
dsPIC30F 8 rows* End of memory
dsPIC33FJ 1 page End of memory

我想只要自己的代码没有把 Flash全都用上了应该就问题不大吧。我一直都在用 ,还没出现过 你说的Flash验证错误 。



liansh2002 发表于 2012-6-14 10:57:27

673104326 发表于 2012-6-13 22:44 static/image/common/back.gif
你说的第一个问题我也没解决啊,我的配置位是没有加保护的,要是加保护的话可能就得考虑别的办法了吧。想 ...

第二个问题找到了,原因是我开了写保护。
虽然在ds30的settings.inc中设置了关闭写保护,但是主程序中又打开了写保护,并且选中Write Configs。相当于成功写入一次以后写保护就被永久打开了,以后新程序都没法再写入了。
同样要注意的还有端口单次映射配置位,也要关掉,不然以后都就映射不到了。
现在只要把写保护关闭,读取保护打开就好了。

673104326 发表于 2012-6-14 23:21:09

liansh2002 发表于 2012-6-14 10:57 static/image/common/back.gif
第二个问题找到了,原因是我开了写保护。
虽然在ds30的settings.inc中设置了关闭写保护,但是主程序中又 ...

那就好,呵呵!以后有时间有精力了,再整一整第一个问题,争取能和自己的代码 整合 在一起。

lffpga 发表于 2012-6-15 21:20:35

学习{:smile:}

yfgww 发表于 2012-10-31 11:55:20

{:smile:}{:smile:}{:smile:}

luyongganglyg 发表于 2013-3-31 15:04:21

mark{:handshake:}

eagle_avr 发表于 2013-3-31 22:29:39

很有用!之前看过PIC32的,没时间去弄
现在楼主这个应该可以用起来!

lyl3257 发表于 2013-4-2 15:19:03

学习学习

承浩2012 发表于 2013-4-8 23:05:35

zhouchuanghua@126.com上位机软件看不到啊

richyhuang 发表于 2013-4-8 23:30:11

先下载收藏一个,留着以后用{:lol:}

wangqh1983 发表于 2013-6-25 13:59:35

留名! PIC18我直接用的是官方的,用的也挺好的.要注意RXD引脚的上拉!

cn_x 发表于 2013-6-25 15:17:38

这个真心需要收藏一下,看看18F行不行

673104326 发表于 2013-8-5 09:14:51

cn_x 发表于 2013-6-25 15:17 static/image/common/back.gif
这个真心需要收藏一下,看看18F行不行

话说你们都用的怎么样啊?

xd785 发表于 2013-12-8 21:32:18

不错很好正好用得着呵呵

NM2012 发表于 2013-12-9 00:10:00

有没有人在pic18f87k90上面用过

滴答滴答下雨啦 发表于 2013-12-9 14:04:38

挺好的,学习了……

xifengxia 发表于 2013-12-27 11:24:57

这个帖子对我们这些刚学单片机的人依然有用,学习了,感谢.

gongshu 发表于 2013-12-27 12:16:15

收藏下 学习学习

longfeixue 发表于 2014-2-18 14:14:21

学习一下。

紫嫣 发表于 2014-2-21 14:40:01

我以前也看过资料,但是没弄完,今天进来突然就看见了,还有我师兄的足迹哦,我也留个邮箱690005173@qq.com,麻烦将上位机软件传一份给我哦,我有时间再把它拿出来整整哦,谢谢~~~

riptell2008 发表于 2014-3-16 13:13:56

好东西!!!!

383775409 发表于 2014-10-24 10:09:43

这个帖子太重要了。

pan90 发表于 2014-10-24 10:39:59

好东西,mark

monkeycjk22 发表于 2014-10-24 11:32:50

第一次要用烧写器把底层的 Bootloader 写进去,以后就可用 串口 或者 Can口直接烧写了,我用的是 USB-232.

目前的程序应该是不能把 Bootloader的 程序和自己的程序 结合起来,想以后有时间了再细看看,能不能都写在一起。

hchkfh 发表于 2014-10-24 13:49:26

谢谢分享.

yklstudent 发表于 2014-10-24 14:35:17

好多人关注这个嘛,我也留个脚印好了

llww30402048 发表于 2015-9-24 10:12:19

先收藏,留着以后用

voto_qiao 发表于 2015-11-30 16:54:43

最近在做dsPIC33EP128MC506芯片的bootloader,发现应用程序中有定时器中断,或者PWM中断,boot程序刷完flash就跳转不到应用程序的执行地址了(goto 0x1C00)。楼主,你的中断那是怎么处理的?

秋夜木语 发表于 2015-11-30 20:26:14


先收藏,留着以后用,谢谢楼主!

杰克 发表于 2022-4-4 18:59:15

各位前辈,请教一下,dspic30 bootloader里面的外设在app里面能用吗,例如共用串口u1

R88 发表于 2023-2-15 15:25:14

感谢,官网都收费了,找到了免费的最新版本https://picbootloader.com/?page_id=8
页: [1]
查看完整版本: Ds30 Loader-----几乎支持所有 PIC 系列单片机的 BootLoader!