eric2013 发表于 2018-5-18 11:01:04

使用板子实际操作i.MX RT快2周了,总结下学习步骤和需要了解的基础知识,防止大家走弯路

要玩溜RT还是有点门槛的,要学习的东西很多,如果基础不扎实的话,会学习的比较吃力。所以我把我这几天走过的路给大家分享了下,让大家少走弯路。

下面几个选项是大家学习RT必须要面对的几个大山
(1)XIP外置Flash启动运行。
(2)稍复杂的时钟配置。
(3)L1缓存和MPU设置。
(4)FlexRAM的配置,也就是DTCM,ITCM和OCRAM的分配问题。
(5)分散加载问题。
(6)Flashloader的使用,工程批量必须要用这个,因为我们需要设置外置flash的加密操作。
(7)各种各样的启动方式,如SD卡,HyperFlash,QSPI Flash,eMMC,NAND等。
(8)Boot ROM和外设电源是RT的终极大山,是需要大家最后再攻克的,复杂系数五星。

纯从应用的角度来说,不学习这些东西也没关系,就是简单的当单片机用,下载到flash运行即可。但是要发挥性能并满足项目要求的话,你要花点精力的,要不性能发挥不出来,实际效果就稍差。

static/image/hrline/4.gif
学习步骤:

1、收到板子后,把用户手册里面基础的东西了解下,基本半天到一天就看完了。

2、找个简单的跑马灯的例子,先溜溜。主要是测试调试下载是否正常:
(1)CMSIS-DAP调试和下载
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86480
(2)JLINK的调试和下载
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86488
(3)STLINK的调试和下载
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86524

3、调试下载之类的了解了,我们需要整体把控这个芯片的架构,不急于去了解各个外设。把控整个芯片的框架,主要有两点
(1)一个是时钟树,也就是这个帖子:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86500

(2)另个是整个芯片的设计框图,也就是这个帖子(暂时RT没有系统框图):
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86681

4、了解分散加载文件的一些基本命令,RT的存储器分配就靠分散加载活着了,这是大家必须要学习的,而且后期要熟练掌握
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86218

5、了解XIP文件夹中的几个文件,初学了解即可,无需深入研究,研究这个还是很吃力的。
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86583

6、学习flashloader的使用,如果是初学,可以先不学,这个里面的坑巨多,但是你产品量产,后期是必须要学的,当前仅需了解即可
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86521

7、L1缓存和MPU设置也是大家要学习的,初学的话,先用工程默认配置即可,后期慢慢学习了解即可
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86698

8、FlexRAM需要学习官方的那个应用笔记,初学的话,推荐就用系统默认分配,不要去倒腾它
http://www.armbbs.cn/forum.php?mod=viewthread&tid=55470

9、RT支持各种各样的启动方式,像eMMC,NAND,SD卡,QSPI Flash,HyperFlash等。初学的话,学习会HyperFlash的使用即可,几乎跟通用单片差不多
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86499

10、最后这个就是终极boss了,基于Boot ROM的产品批量生产和加密问题,其中加密最复杂,没有这方面的知识,基本搞不定。
而RT的外设电源也是非常的复杂,初学不要研究他,参考手册高达6个大章节在讲解这个,板子能够上电使用就行。
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86617



有了上面这10条认识后,基本就可以像操作通用单片机那样操作RT了。欢迎大家补充自己的观点




alexyzhov 发表于 2018-5-18 11:26:43

总结的非常好,俺们自学RT的感受大概也是如此{:32:}

RT坑还是不少的,文档和代码虽然都有,但读起来还是很费劲,比较吃经验

eric2013 发表于 2018-5-18 11:41:19

alexyzhov 发表于 2018-5-18 11:26
总结的非常好,俺们自学RT的感受大概也是如此

RT坑还是不少的,文档和代码虽然都有,但读起来还是 ...

:handshake

eric2013 发表于 2018-5-18 11:41:35

补充了一个各种各样的启动方式。

0520kuang 发表于 2018-5-18 11:46:25

{:32:}需然还没接触RT,但是的确给初学者提供很好的思路

diiiiiii 发表于 2018-5-18 14:45:40

楼主太大方了,简直就是手把手教。

xufeixueren 发表于 2018-5-18 16:34:58

我对单片机的认识阶段:
(1)最开始用STM32,搞了几年觉得单片机好像挺简单的,人人都能玩,没啥技术含量;
(2)后来使用NXP的片子,外扩SDRAM、eMMC,把eMMC的代码加载到SDRAM运行,搞搞分散加载,觉得单片机原来也可以玩的有深度,挺有意思;
(3)现在搞了一段时间RT1050,启动模式,分散加载、RAM配置、固件烧录等等都要理解原理,对单片机的启动过程了解的越来愈深,感觉和A8芯片复杂度一个档次了。
开始觉得啥都不会,然后觉得也就那么简单,现在觉得自己还是知道的太少。。。

南橘 发表于 2018-5-19 11:10:52

xufeixueren 发表于 2018-5-18 16:34
我对单片机的认识阶段:
(1)最开始用STM32,搞了几年觉得单片机好像挺简单的,人人都能玩,没啥技术含量 ...

首先,STM32也有启动模式,分散加载、RAM配置、固件烧录。是因为你stm还没真正的深入而已

eddy0317 发表于 2018-5-19 11:19:37

南橘 发表于 2018-5-19 11:10
首先,STM32也有启动模式,分散加载、RAM配置、固件烧录。是因为你stm还没真正的深入而已

每个高级点的MCU应该都有。不过一般情况下,基于内部FLASH的MCU,用起来都不会太多考虑这些东西。默认就已经够用了,最多使用自己的bootloader的时候弄一下。而I.MX RT,是必须会这些东西,不然不能动起来。

南橘 发表于 2018-5-19 15:04:14

eddy0317 发表于 2018-5-19 11:19
每个高级点的MCU应该都有。不过一般情况下,基于内部FLASH的MCU,用起来都不会太多考虑这些东西。默认就 ...

你要是拿来学习可以不会,你要是真正做起产品,什么单片机都得学会这些

ALTIUM3 发表于 2018-5-19 16:57:29

:loveliness: 赞赞赞,膜拜下大神!
感谢分享,都是绝对的干货啊,谢谢!

JohnAliux 发表于 2018-6-4 21:36:24

楼主辛苦了 玩RT不趟过这些沟,不算第一个吃上螃蟹的:lol

Devil_920 发表于 2023-7-2 22:39:55

mark下,方便后续研究
页: [1]
查看完整版本: 使用板子实际操作i.MX RT快2周了,总结下学习步骤和需要了解的基础知识,防止大家走弯路