eric2013 发表于 2018-4-12 11:54:40

收到公司发给我的X1板子了,核心板子的确是很小,也挺精致

从本帖开始,以后关于RT芯片负能量的东西不再跟大家宣传了,从尊重公司的决定和答谢坛友们支持的角度出发,积极正能量些。

过两天我也开始研究,现在主要是我们公司那边在弄。

static/image/hrline/4.gif











eric2013 发表于 2018-4-12 12:04:21


loveleiying 发表于 2018-4-12 12:07:19

硬汉大哥xip好难啊,我们这种刚毕业没多久的看起来看不懂:'(

loveleiying 发表于 2018-4-12 12:08:07

希望跟着硬汉大哥好好学习下

unknownuser 发表于 2018-4-12 13:36:13

loveleiying 发表于 2018-4-12 12:07
硬汉大哥xip好难啊,我们这种刚毕业没多久的看起来看不懂

兄弟,XIP其实不难,前面那些 flash config, IVT boot data几乎都是固定的,刚开始直接用KSDK的模板就好了,安富莱的板子也用的hpyerflash,所以SDK里的东西你们不用改。

除开前面的头,其他的东西都是通用的了

tianyekpsex 发表于 2018-4-12 13:46:54

汉哥,你是不是在外面,没有在公司?

bd7qw 发表于 2018-4-12 14:01:57

支持楼主的帖子,

eric2013 发表于 2018-4-12 14:36:53

tianyekpsex 发表于 2018-4-12 13:46
汉哥,你是不是在外面,没有在公司?

是的:handshake

ou513 发表于 2018-4-12 15:25:44

公司在武汉,硬汉哥在深圳吧,对不

eric2013 发表于 2018-4-12 15:32:09

ou513 发表于 2018-4-12 15:25
公司在武汉,硬汉哥在深圳吧,对不

是的:handshake

loveleiying 发表于 2018-4-12 18:19:48

unknownuser 发表于 2018-4-12 13:36
兄弟,XIP其实不难,前面那些 flash config, IVT boot data几乎都是固定的,刚开始直接用KSDK的模板就好 ...

本着学习的态度请教,为什么要那样配置!求教

unknownuser 发表于 2018-4-12 18:55:54

本帖最后由 unknownuser 于 2018-4-12 19:00 编辑

loveleiying 发表于 2018-4-12 18:19
本着学习的态度请教,为什么要那样配置!求教
flash config这个是给ROM来配置 FlexSPI 控制器,以便正确的以最高性能来访问FLASH,所以建议在学习阶段不用深究这个 config,因为一旦FLASH选定了,这个fash config 也就可以定下来了,SDK的例子是针对官方开发板子上的HyperFLASH的,所以flash config是针对 HyperFLASH的,如果用其他 FLASH,这个flash config也要作相应的修改,如果要深入研究这个flash config,那需要参考System Boot这一章了,但是不建议在这里花太多时间,因为这个东西其实没啥技术好研究的。

剩下来的就是 ivt 和boot data了,ivt 这个可以参考 System Boot 里的 Figure 8-14. Image Vector Table这张图。

RT1050是 没有 FLASH的,它同时支持XiP 启动和非XiP 启动(复制到RAM里执行),并且它还支持用DCD来预先配置好SDRAM 控制器,所以,ROM需要一些额外的信息来判断应用程序的信息。

所以IVT里有
1. header, 这个是一个标记,用来判断有没有有效的程序
2. entry 这个指向应用程序的Reset_handler或者Vector table地址
3. dcd, 这个指向 DCD (用于SDRAM/DDR等外部RAM器件的初始化)的地址,这个是可选的,如果没有外挂这些RAM或者不需要ROM在启动阶段配置外部RAM,可以直接填0,更多信息要参考 System Boot这一章了
4. boot_data, 这个指向 实际boot data的地址,这个boot data 稍后会讲
5. self, 这个就是个指向 实际 ivt 的地址
6. csf, CSF是 secure boot 需要的程序验签信息,在开发阶段可以直接填0,在量产阶段可以用 elftosb这个工具自动去打包生成 signed image,也可以用CST工程自行手工生成

接下来说 boot data, 这个其实比较简单没太多的东西,主要有三个成员
1. start, 这个指明了boot image的起始地址,如果是XiP image,这个就是FLASH的首地址,比如0x6000_0000,如果是非XiP的image,这个指向了代码实际执行的地址。
2. length, 这个表明了这个boot image的大小,如果是非XiP image,这个表明了最终需要ROM copy的应用程序大小
3. plugin flag, 这个就是个标记,对于大多数的应用来说,直接设0就好了。


希望上述信息能帮你理解 XiP的实际工作原理。

jplzl10000 发表于 2018-4-12 21:49:48

eric2013 发表于 2018-4-12 15:32
是的

在深圳了,什么时候登门拜访下?

eric2013 发表于 2018-4-13 02:49:35

jplzl10000 发表于 2018-4-12 21:49
在深圳了,什么时候登门拜访下?

有时间了嗨皮下:handshake

wgco98 发表于 2018-4-13 09:12:55

深圳南山区

loveleiying 发表于 2018-4-13 09:45:51

unknownuser 发表于 2018-4-12 18:55
flash config这个是给ROM来配置 FlexSPI 控制器,以便正确的以最高性能来访问FLASH,所以建议在学习阶段 ...

谢谢,在请教下!比如配置nor flash的时候,lut配置命令读取,前面配置EB是fast read,后面配置个18什么意思?还有那个函数配置什么意思?

unknownuser 发表于 2018-4-13 10:12:41

loveleiying 发表于 2018-4-13 09:45
谢谢,在请教下!比如配置nor flash的时候,lut配置命令读取,前面配置EB是fast read,后面配置个18什么意 ...

如果想要深入研究这一块,可以去读 FlexSPI 这一章,这里就是lookup table, 开头的这些其实就是描述一个完整的读FLASH的操作序列(sequence).

通过分析市面上大多数的外部SPI 器件,NXP 的FLEXSPI IP设计人员整理归纳出来了大多数的器件支持的命令各类,然后设计了一个Lookup table这样的引擎,这些操作包括常见的FLASH的:

1. 读/写/纯命令

以读为例,通常的流程是: 发: 1. 命令, 2. 地址, 3. MODE/DUMMY CYCLE, 4. 读。

以常见的4MB 的 QSPI FLASH为例,

通常是命令 (0xEB), 地址 (24 bit, 0x18), DUMMY (6 或者 8个clock), 读。

loveleiying 发表于 2018-4-13 12:03:14

unknownuser 发表于 2018-4-13 10:12
如果想要深入研究这一块,可以去读 FlexSPI 这一章,这里就是lookup table, 开头的这些其实就是描述一个 ...

谢谢,十分感谢!我再去看看理解一下!

lwplwp2 发表于 2018-4-13 18:58:17

unknownuser 发表于 2018-4-13 10:12
如果想要深入研究这一块,可以去读 FlexSPI 这一章,这里就是lookup table, 开头的这些其实就是描述一个 ...

请教一下,非xip启动要在哪里配置,我能找到的只有下图那个,但是从字面意思上来看好像不是配置是否xip模式

TLLED 发表于 2018-4-13 21:39:38

核心板好精致

jplzl10000 发表于 2018-4-14 07:38:28

wgco98 发表于 2018-4-13 09:12
深圳南山区

白石洲。。。

jplzl10000 发表于 2018-4-14 07:38:53

eric2013 发表于 2018-4-13 02:49
有时间了嗨皮下

住哪里啊,我在白石洲了

cyhuaixang 发表于 2018-4-14 09:45:43

eric2013 发表于 2018-4-13 02:49
有时间了嗨皮下

硬汉哥,有空,组织下活动啊

lifeng5478 发表于 2018-4-14 17:32:17

我在想。。硬汉是不是不是一人???
页: [1]
查看完整版本: 收到公司发给我的X1板子了,核心板子的确是很小,也挺精致