打印

stlink源代码公布,自己写的,不是官方的

[复制链接]
17884|64
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Simon21ic|  楼主 | 2013-3-22 11:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
公布原因,stlink官方firmware都公布了,就不用担心被滥用了。
PS: 本代码和Versaloon硬件兼容,和stlink硬件不兼容

http://code.google.com/p/vsprog/ ... 2Ffirmware%2Fstlink
已经安排人手测试,stm32已经测试通过,nxp的cortex貌似也可以,不过有警告,但不影响调试,正在排查,怀疑是脚本的问题,没有做flash的remap。

不支持的:
SWIM还没时间加入
ITM trace也没时间加入,而且有几个trace相关的命令(0x40,0x41)暂时没时间分析
评分
参与人数 1威望 +1 收起 理由
mousebat04 + 1 很给力!
沙发
王紫豪| | 2013-3-22 11:48 | 只看该作者
支持下!

使用特权

评论回复
板凳
jerkoh| | 2013-3-22 13:34 | 只看该作者
看看,谢谢!

使用特权

评论回复
地板
snowdpq| | 2013-3-23 22:33 | 只看该作者
mark

使用特权

评论回复
5
IJK| | 2013-3-24 10:31 | 只看该作者
不错,谢谢分享。LZ的做法值得学习

使用特权

评论回复
6
reille| | 2013-3-24 11:25 | 只看该作者
开源精神

使用特权

评论回复
7
lllaaa| | 2013-3-24 12:11 | 只看该作者
一直想做个lz的versaloon。但是不知道到底要怎么烧录软件?bootloader的代码在哪里啊?或者从哪个目录开始编译出来直接烧录硬件就可以乐

我在dongle/firmware/versaloon/GCC能编译成功。但是release/ firmware/ MiniRelease1/ STM32USBBoot.hex 和 release/ firmware/ MiniRelease1/ NFW/ MSCBoot.hex该烧录哪个呢? bootloader的代码在哪里呀

使用特权

评论回复
8
Simon21ic|  楼主 | 2013-3-24 12:28 | 只看该作者
最新的是MSCBoot.hex,不过需要用128K版本的STM32

使用特权

评论回复
9
lllaaa| | 2013-3-24 12:32 | 只看该作者
Simon21ic 发表于 2013-3-24 12:28
最新的是MSCBoot.hex,不过需要用128K版本的STM32

bootlodaer除了可以升级之外没别的用了吧?我用一条跳转指令直接跳到主程序ok么

使用特权

评论回复
10
Simon21ic|  楼主 | 2013-3-24 12:37 | 只看该作者
OK

使用特权

评论回复
11
lllaaa| | 2013-3-24 12:39 | 只看该作者
邪门。在公司里能编过。在家里怎么提示 cannot find crt0.o了。。。难道yagarto没crt了。。

使用特权

评论回复
12
Simon21ic|  楼主 | 2013-3-24 12:43 | 只看该作者
我用的是codesourcery的编译器
国内貌似几乎没人DIY这个

使用特权

评论回复
13
lllaaa| | 2013-3-24 12:49 | 只看该作者
换了codesourcery ok了。但是mscboot链接的时候很多符号找不到啊。
./interfaces.o:(.rodata+0x128): undefined reference to `stm32_ebi_init'
./interfaces.o:(.rodata+0x12c): undefined reference to `stm32_ebi_fini'
./interfaces.o:(.rodata+0x130): undefined reference to `stm32_ebi_config'
./interfaces.o:(.rodata+0x134): undefined reference to `stm32_ebi_config_sram'
./interfaces.o:(.rodata+0x138): undefined reference to `stm32_ebi_config_psram'
./interfaces.o:(.rodata+0x13c): undefined reference to `stm32_ebi_config_nor'
./interfaces.o:(.rodata+0x140): undefined reference to `stm32_ebi_config_nand'
./interfaces.o:(.rodata+0x144): undefined reference to `stm32_ebi_config_sdram'
./interfaces.o:(.rodata+0x148): undefined reference to `stm32_ebi_config_ddram'
./interfaces.o:(.rodata+0x14c): undefined reference to `stm32_ebi_config_pccard'
./interfaces.o:(.rodata+0x150): undefined reference to `stm32_ebi_get_base_addr'
./interfaces.o:(.rodata+0x154): undefined reference to `stm32_ebi_isready'
./interfaces.o:(.rodata+0x158): undefined reference to `stm32_ebi_read'
./interfaces.o:(.rodata+0x15c): undefined reference to `stm32_ebi_write'
./interfaces.o:(.rodata+0x160): undefined reference to `stm32_ebi_read8'
./interfaces.o:(.rodata+0x164): undefined reference to `stm32_ebi_write8'
./interfaces.o:(.rodata+0x168): undefined reference to `stm32_ebi_read16'
./interfaces.o:(.rodata+0x16c): undefined reference to `stm32_ebi_write16'
./interfaces.o:(.rodata+0x170): undefined reference to `stm32_ebi_read32'
./interfaces.o:(.rodata+0x174): undefined reference to `stm32_ebi_write32'
collect2: ld returned 1 exit status
makefile:200: recipe for target `demo_GCC.elf' failed
make: *** [demo_GCC.elf] Error 1

使用特权

评论回复
14
lllaaa| | 2013-3-24 12:51 | 只看该作者
Simon21ic 发表于 2013-3-24 12:43
我用的是codesourcery的编译器
国内貌似几乎没人DIY这个

国内jlink太便宜。没人愿意折腾。不过我一直想折腾个swd+uart的烧录器。要是能兼容官方stlink或者jlink驱动就更好了。。。。

使用特权

评论回复
15
Simon21ic|  楼主 | 2013-3-24 13:39 | 只看该作者
本帖最后由 Simon21ic 于 2013-3-24 13:43 编辑
lllaaa 发表于 2013-3-24 12:51
国内jlink太便宜。没人愿意折腾。不过我一直想折腾个swd+uart的烧录器。要是能兼容官方stlink或者jlink驱 ...

兼容stlink应该搞的定,而且ST是卖芯片的,不过目前没时间弄。
兼容jlink应该不会去弄,毕竟别人是专门卖工具的。

EBI的问题,是因为编译选项的问题,我看一下
已经更新,不过建议直接用现成的hex,因为GCC编译的代码过大

使用特权

评论回复
16
lllaaa| | 2013-3-24 15:35 | 只看该作者
Simon21ic 发表于 2013-3-24 13:39
兼容stlink应该搞的定,而且ST是卖芯片的,不过目前没时间弄。
兼容jlink应该不会去弄,毕竟别人是专门卖 ...

编译的时候加上-ffunction-sections -fdata-sections 配合链接时候的--gc-sections可以干掉没有调用的函数。刚编译一下。小了4k左右。不知道iar编译出来大概是啥水平

使用特权

评论回复
17
lllaaa| | 2013-3-24 15:39 | 只看该作者
lithium@2530p /cygdrive/d/source/versaloon/trunk/vsf/example/MSCBoot/proj/ARMGCC
$ size *hex
   text    data     bss     dec     hex filename
      0   20304       0   20304    4f50 MSCBoot.hex
      0   34724       0   34724    87a4 demo_GCC.hex

差距还是挺大的。。。。

使用特权

评论回复
18
cjhk| | 2013-3-24 18:52 | 只看该作者
开源精神  需要支持一下  呵呵   顶一个   呵呵

使用特权

评论回复
19
cjhk| | 2013-3-24 18:53 | 只看该作者
源代码  公开了  可以让更多的人受益   呵呵   顶一个

使用特权

评论回复
20
来与君| | 2013-3-24 23:37 | 只看该作者
前排支持一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:www.versaloon.com --- under construction

266

主题

2597

帖子

104

粉丝