硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3043|回复: 9
收起左侧

[官方评估板] Embedded Artists的i.MX RT1052核心板和底板配套的用户手册已经发布

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107145
QQ
发表于 2017-12-22 10:49:06 | 显示全部楼层 |阅读模式
本帖最后由 eric2013 于 2017-12-23 17:15 编辑

手册下载: iMX_RT1052_Developers_Kit_Users_Guide.pdf (2.56 MB, 下载次数: 209)
==============================================
手册的几个看点:
1. 下载调试器可以是LPC-Link2 ,Keil ULINK ,ULINKplus 和 Segger JLINK。
2.  推荐使用KEIL MDK,因为KEIL已经为他们开发板上带的8线OctoFlash提供下载算法了,这个ATXP032是当前性价比最高的,详情可以看此贴:链接。另外我在MDK5.24A里面没有发现这个算法,RT1050的安装包里面也没有,估计是在最新的MDK5.25预览版里面,后面有时间了安装个看看,或者没有直接放在MDK安装目录,是Adesto单独提供的MDK算法。

3. 外部flash的执行方式,他这里主要分为三种:
(1)将ATXP032里面的程序加载到内部RAM里面跑
(2)直接在ATXP032里面直接跑,相比在内部RAM里面跑,差不多能够发挥三分之二的性能。
(3)前面两种方式的二合一,关键代码加载的内部RAM里面跑,其它还在ATXP032里面跑,但是操作麻烦,没有统一的解决方案,需要复杂的脚本文件配置。




4. 一个重要的芯片勘误:

回复

使用道具 举报

7

主题

10

回帖

31

积分

新手上路

积分
31
发表于 2017-12-23 16:15:57 | 显示全部楼层
虽然一直用MDK 和STM32 ,但一直有个疑问。就是MDK是怎么能给单片机的内部FLASH 和上面的那种外部FLASH 下载程序的呢?很好奇,MDK 的下载算法又是下载到哪里的呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107145
QQ
 楼主| 发表于 2017-12-23 16:31:01 | 显示全部楼层
tianyixueshi 发表于 2017-12-23 16:15
虽然一直用MDK 和STM32 ,但一直有个疑问。就是MDK是怎么能给单片机的内部FLASH 和上面的那种外部FLASH 下 ...

下载算法是配置STM32用的,通过下载器与STM32的调试接口连接,将命令数据等给芯片,来实现自带flash和外部外部flash的烧写,像M内核带的调试组件功能很强的,芯片的各个地址空间都可以访问。
回复

使用道具 举报

1

主题

43

回帖

46

积分

新手上路

积分
46
发表于 2017-12-23 17:12:07 | 显示全部楼层
本帖最后由 tanek 于 2017-12-23 17:19 编辑
tianyixueshi 发表于 2017-12-23 16:15
虽然一直用MDK 和STM32 ,但一直有个疑问。就是MDK是怎么能给单片机的内部FLASH 和上面的那种外部FLASH 下 ...

其实就是MDK通过仿真器将程序写入到RAM里面,这个程序有些是MDK自己做的,有些是芯片厂商提供的。
这个程序完成的功能就是编程flash。厂商一般都是参看这个模板ARM\Flash\_Template实现。

你去看这个模板,就发现你仅仅需要实现几个API和更新一个结构体。

具体API就是这几个
  1. int Init (unsigned long adr, unsigned long clk, unsigned long fnc);
  2. int UnInit (unsigned long fnc);
  3. int EraseChip (void);
  4. int EraseSector (unsigned long adr);
  5. int ProgramPage (unsigned long adr, unsigned long sz, unsigned char *buf);
复制代码


然后再更新一个结构体变量的数值:
  1. struct FlashDevice const FlashDevice
复制代码
你就可以自己完成一个flash算法了。
然后编译器编程生成FLM文件。你可以自己用逆向软件打开这个文件,就发现其实和axf/elf差不多的。

snipaste_20171223_171144.png
编译器在加载FLM文件的时候,通过分析文件,就可以足够的变量和函数的各种信息,完成加载工作。


IAR也有类似套路,具体在哪个文件不记得了,MDK和IAR也有具体文档说明这些,感兴趣的自己去找吧。




回复

使用道具 举报

7

主题

10

回帖

31

积分

新手上路

积分
31
发表于 2017-12-31 18:20:56 | 显示全部楼层
eric2013 发表于 2017-12-23 16:31
下载算法是配置STM32用的,通过下载器与STM32的调试接口连接,将命令数据等给芯片,来实现自带flash和外 ...

多谢指导。
回复

使用道具 举报

7

主题

10

回帖

31

积分

新手上路

积分
31
发表于 2017-12-31 18:21:19 | 显示全部楼层
tanek 发表于 2017-12-23 17:12
其实就是MDK通过仿真器将程序写入到RAM里面,这个程序有些是MDK自己做的,有些是芯片厂商提供的。
这个 ...

多谢指导。。茅塞顿开的感觉
回复

使用道具 举报

2

主题

569

回帖

575

积分

金牌会员

积分
575
发表于 2018-1-1 09:54:37 来自手机 | 显示全部楼层
以前在V5板子nor上做过,成功nor上跑流水灯,但是仅仅流水灯而已,稍微复杂一点的都跑不了一两秒钟就死了。速度跟不上,没实用价值。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107145
QQ
 楼主| 发表于 2018-1-1 11:09:30 | 显示全部楼层
leiyitan 发表于 2018-1-1 09:54
以前在V5板子nor上做过,成功nor上跑流水灯,但是仅仅流水灯而已,稍微复杂一点的都跑不了一两秒钟就死了。 ...

STM32性能有限,这么搞没有实用价值,仅仅能够跑到内部flash运行性能的十分之一。i.MX RT必须这么搞,它没有自带Flash,但外挂HyperFlash或者OctaFlash的性能却可以达到三分二以上。当然,也可以加载到内部SRAM或者外部SDRAM跑。
回复

使用道具 举报

262

主题

578

回帖

1364

积分

至尊会员

积分
1364
发表于 2018-1-4 13:15:01 | 显示全部楼层
tanek 发表于 2017-12-23 17:12
其实就是MDK通过仿真器将程序写入到RAM里面,这个程序有些是MDK自己做的,有些是芯片厂商提供的。
这个 ...

关键是怎么获取程序信息的
下载这种操作也就是和我们一般的flash操作是一样的
好像keil下是用了很多sct文件中的地址啊,大小信息等这些东西
回复

使用道具 举报

1

主题

43

回帖

46

积分

新手上路

积分
46
发表于 2018-1-7 20:24:00 | 显示全部楼层
本帖最后由 tanek 于 2018-1-7 20:26 编辑
jplzl10000 发表于 2018-1-4 13:15
关键是怎么获取程序信息的
下载这种操作也就是和我们一般的flash操作是一样的
好像keil下是用了很多sct ...

flm和mdk的axf, gcc的elf,都是差不多的格式, 它们的具体定义你可以看elf文件格式,
从文件里面就可以得到这些了。

无法就是从section/symbol得到就是了。具体实现就不知道了。
从elf里面得到信息,你可以使用nm/objdump等等命令行工具, 也可以使用逆向软件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-20 13:49 , Processed in 0.301737 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表