14个员额/0个新员额
最后一篇文章
丹尼尔59
离线
最后一次见到:1年2个月前
加入:2016-01-08 04:34
数组过大无法编译

我用有机发光二极管数模转换工具创建了一个很大的数组,把它放到代码里基尔无法建造

请问有什么解决办法吗?我有外接一个1米的SPI闪光灯

设备:
赛宾
离线
最后一次见到:3个月5天前
工作人员
加入:2017-12-14 02:48
你好,

你好,

可预先将屏幕数据烧录到 闪光中。将该数组转化成 十六进制格式的文件,通过 SmartSnippets工具箱烧录到 闪光的指定区域。程序运行之后,将其读出再送给屏幕即可。

丹尼尔59
离线
最后一次见到:1年2个月前
加入:2016-01-08 04:34
您好!

您好!

想问一下如何转化为十六进制文件呢?因为我是打算将固件直接烧录到闪光去启动的,所以想问一下是否能修改基尔的工程设置,使工程能够建造成功呢?

赛宾
离线
最后一次见到:3个月5天前
工作人员
加入:2017-12-14 02:48
你好,

你好,

数组转化为 十六进制可在网上搜索到一些小工具来完成。我介绍的这种方式,是比较容易上手的。

也有稍微复杂,但之后会比较方便引用的方式:

你也可通过修改 基尔的分散加载文件 sct指定一个区域用于保存数组数据,并在程序中将该数组指定链接到该区域。但是,程序里对该数组的访问,还是要通过读写外部 闪光的方式来进行,并且,你需要知道该数组实际对应的在 闪光中的位置。

以上方式需要你先了解内存分配,基尔链接文件配置等相关知识。

丹尼尔59
离线
最后一次见到:1年2个月前
加入:2016-01-08 04:34
您好!

您好!

那若是将数组转化为十六进制烧录到闪光里,而后我又要讲固件烧到闪光里通过spi启动程序,是应该先从0x20000000烧录固件再烧录闪光吗?

赛宾
离线
最后一次见到:3个月5天前
工作人员
加入:2017-12-14 02:48
你好,

你好,

将数组起始地址分配到固件之后的位置,可通过 十六进制合并工具,将两个 十六进制文件合并为一个进行烧录

丹尼尔59
离线
最后一次见到:1年2个月前
加入:2016-01-08 04:34
您好! 了解,我先进行尝试,如果还有问题再来咨询,谢谢您!

您好!

了解,我先进行尝试,如果还有问题再来咨询,谢谢您!

赛宾
离线
最后一次见到:3个月5天前
工作人员
加入:2017-12-14 02:48
好的,有问题随时可跟帖讨论

好的,有问题随时可跟帖讨论

丹尼尔59
离线
最后一次见到:1年2个月前
加入:2016-01-08 04:34
您好!

您好!

我的程序好像无法读取一闪……

我在想是否由于我板子上有一个SPI接口的加速度计芯片,而当时设计板子的时候又弄了2.组SPI引脚,而导致闪光无法读取?

引脚设定如下:
GPIO_配置引脚(ADXL_EN_GPIO_端口,ADXL_EN_GPIO_引脚,输出,PID_SPI_EN,真);
GPIO_配置引脚(ADXL_时钟_GPIO_端口、ADXL_时钟_GPIO_引脚、输出、PID_SPI_时钟、假);
GPIO_配置引脚(ADXL_DO_GPIO_端口,ADXL_DO_GPIO_引脚,输出,PID_SPI_DO,假);
GPIO_配置引脚(ADXL_DI_GPIO_端口、ADXL_DI_GPIO_引脚、输入、PID_SPI_DI、假);
GPIO_配置引脚(SPI_EN_GPIO_端口,SPI_EN_GPIO_引脚,输出,PID_SPI_EN,真);
GPIO\U配置引脚(SPI\U CLK\U GPIO\U端口、SPI\U CLK\U GPIO\U引脚、输出、PID\U SPI\U CLK、false);
GPIO_配置引脚(SPI_DO_GPIO_端口,SPI_DO_GPIO_引脚,输出,PID_SPI_DO,假);
GPIO_配置引脚(SPI_DI_GPIO_端口,SPI_DI_GPIO_引脚,输入,PID_SPI_DI,假);

赛宾
离线
最后一次见到:3个月5天前
工作人员
加入:2017-12-14 02:48
你好,

你好,

SPI外设只有一个。需要你软件上分时使用这两个硬件接口。

丹尼尔59
离线
最后一次见到:1年2个月前
加入:2016-01-08 04:34
您好!

您好!

想问一下,是否能写1MB大的程序烧入闪光进行启动?还是说程序最大只能84kB

赛宾
离线
最后一次见到:3个月5天前
工作人员
加入:2017-12-14 02:48
你好,

你好,

DA1458x系列芯片程序需要拷贝到 内存中运行。

580具有 50kB的 内存所以一般采用 代码(32kB)+数据(12kB)的组合方式。

585具有 96kB的 内存所以一般采用 代码(64kB)+数据(32kB)的组合方式。

DA1468x系列芯片程序可通过 QSPI接口,从 闪光运行;故代码量可不受 内存大小的限制。

丹尼尔59
离线
最后一次见到:1年2个月前
加入:2016-01-08 04:34
您好!

您好!

感谢回复。

那就是说如果我是580+1MB闪存从闪光启动的话,也只能用50kb剩下的只能用作数据存储是吗?

赛宾
离线
最后一次见到:3个月5天前
工作人员
加入:2017-12-14 02:48
是的

是的