hello_word 发表于 2022-11-15 10:02:43

hello_word 发表于 2022-11-15 09:52
你好我想搞个F1的SPIFLASH加载算法 算法是生成了,然后下载程序的时候,一直下载不进去,0XC0000000可以加 ...

工程已发,在审核中

eric2013 发表于 2022-11-15 11:32:33

hello_word 发表于 2022-11-15 09:58
这个是F103的算法工程,SPI通信那块没问题,单独测SPIflash的读写函数也是正常的,就是生成了算法之后,F ...

下载的错误信息截图下。我看看是那方便错误。

hello_word 发表于 2022-11-15 11:45:11

eric2013 发表于 2022-11-15 11:32
下载的错误信息截图下。我看看是那方便错误。




单独下载程序不添加SPIFLASH算法那部分又是可以下载成功的,只要加上这个算法就不能正常下载进去

hello_word 发表于 2022-11-15 12:44:33

eric2013 发表于 2022-11-15 11:32
下载的错误信息截图下。我看看是那方便错误。

已回复 不过图片的评论好像审核时间比较久:'(

eric2013 发表于 2022-11-15 14:10:56

hello_word 发表于 2022-11-15 12:44
已回复 不过图片的评论好像审核时间比较久

这个有点诡异,你的添加外部Flash算法,这里怎么提示的内部Flash下载校验失败(内部Flash地址时0x0800 0000开始),你的这个工程(测试工程,非FLM文件生成工程)是不是点问题。

hello_word 发表于 2022-11-15 18:38:18

eric2013 发表于 2022-11-15 14:10
这个有点诡异,你的添加外部Flash算法,这里怎么提示的内部Flash下载校验失败(内部Flash地址时0x0800 00 ...

测试工程,不添加那个SPIFLASH算法,是可以正常下载的,添加算法之后C000 0000 段是可以正常加载过去,但是到下载程序段时(0x0800 0000) 就出问题了 我也很奇怪:'(

gua 发表于 2022-11-16 09:41:07

eric2013 发表于 2022-11-10 09:15
忘了及时回复了,你把问题改了?

改了改了,解决了。就是用别的指令,4个 I/O 读写 会快点

eric2013 发表于 2022-11-16 14:44:38

gua 发表于 2022-11-16 09:41
改了改了,解决了。就是用别的指令,4个 I/O 读写 会快点

{:8:}

阿三电饭锅 发表于 2022-12-8 19:48:26

STM32F401ccu6下载算法调用显示Cannot Load Flash Programming Algorithm!
请大家帮忙看看问题出在哪了

eric2013 发表于 2022-12-9 10:50:10

阿三电饭锅 发表于 2022-12-8 19:48
STM32F401ccu6下载算法调用显示Cannot Load Flash Programming Algorithm!
请大家帮忙看看问题出在哪了
下载的时候加大这个,你的FLM算法是要加载到这个RAM空间里面的,你要保证你的程序不能超过这里设置的大小

阿三电饭锅 发表于 2022-12-9 14:27:36

eric2013 发表于 2022-12-9 10:50
下载的时候加大这个,你的FLM算法是要加载到这个RAM空间里面的,你要保证你的程序不能超过这里设置的大小 ...

感谢解惑

阿三电饭锅 发表于 2022-12-9 19:39:27

hello_word 发表于 2022-11-15 11:45
单独下载程序不添加SPIFLASH算法那部分又是可以下载成功的,只要加上这个算法就不能正常下载进去

我也碰到你这个问题了,以及解决。
主要还是keil下载的算法太简陋我看了一下它给的例程初始化没有对时钟做任何配置校验的读取没有任何延迟我这边吧spi flash算法主频改低就好了

xinghun_zy 发表于 2022-12-21 15:03:53

   G030大家有遇到这个问题吗?

eric2013 发表于 2022-12-21 15:10:38

xinghun_zy 发表于 2022-12-21 15:03
G030大家有遇到这个问题吗?
这里的意思是你个地方开的RAM大小不够存储你制作的FLM算法文件。

xinghun_zy 发表于 2022-12-21 16:39:50

   G030下载 一直提示 Insufficient RAM for Flash Algorithms !   大家有遇到相同问题的吗? 怎么解决的

xinghun_zy 发表于 2022-12-21 17:12:23

eric2013 发表于 2022-12-21 15:10
这里的意思是你个地方开的RAM大小不够存储你制作的FLM算法文件。

,我单独做工程 驱动能读出flash,做成算法下载时 烧写外部Flash时 报错 ,这个需要改多大,在哪看算法需要多大空间

eric2013 发表于 2022-12-22 00:31:56

xinghun_zy 发表于 2022-12-21 17:12
,我单独做工程 驱动能读出flash,做成算法下载时 烧写外部Flash时 报错 ,这个需要改多大,在哪看算法 ...

看你FLM文件大小就行

xinghun_zy 发表于 2022-12-22 14:43:12

hello_word 发表于 2022-11-15 18:38
测试工程,不添加那个SPIFLASH算法,是可以正常下载的,添加算法之后C000 0000 段是可以正常加载过去,但 ...

你解决了吗?我这边 测试 F103ZE遇到类似问题 下载没问题但是 校验时 提示 错误,测试去掉校验后能正常下载 进去

xinghun_zy 发表于 2022-12-22 14:47:08

本帖最后由 xinghun_zy 于 2022-12-22 14:58 编辑

   我这边用F103ZE 芯片测试,如果不加校验能正常下载进去 ,但是加校验后报错   ,有遇到这个问题的吗

eric2013 发表于 2022-12-23 00:19:28

xinghun_zy 发表于 2022-12-22 14:47
我这边用F103ZE 芯片测试,如果不加校验能正常下载进去 ,但是加校验后报错   ,有遇到这个问题的吗

下载进去后,SPI Flash的数据正常不,如果正常的话,也可以的。

lihui163 发表于 2022-12-27 22:07:38

硬汉哥你好,在H7开发文档里说制作好下载算法后,还需要boot和APP程序?

eric2013 发表于 2022-12-28 00:09:10

lihui163 发表于 2022-12-27 22:07
硬汉哥你好,在H7开发文档里说制作好下载算法后,还需要boot和APP程序?

跟boot和app基本没关系,这个算法主要是方便大家把需要的程序,图库或者字库等数据下载到SPI Flash里面

lihui163 发表于 2022-12-28 10:16:58

eric2013 发表于 2022-12-28 00:09
跟boot和app基本没关系,这个算法主要是方便大家把需要的程序,图库或者字库等数据下载到SPI Flash里面

用这个算法下载程序到外部flash,直接上电就可以运行外部flash的程序,这样级方便了,

eric2013 发表于 2022-12-28 11:56:55

lihui163 发表于 2022-12-28 10:16
用这个算法下载程序到外部flash,直接上电就可以运行外部flash的程序,这样级方便了,
没问题,这种的两种玩法
1、一种是芯片支持QSPI Flash内存映射模式(可以直接在QSPI Flash运行程序),像H7系列就是支持的,对应你看V7的QSPI Flash算法和案例即可。这些都是
https://www.armbbs.cn/forum.php?mod=viewthread&tid=86980



2、还有一种就是不支持内存映射的,你可以存到SPI Flash里面,上电后加载到内部RAM运行。

这个帖子就可以使用这种玩法。


tcs_stm32 发表于 2023-1-1 23:29:18

/*
*********************************************************************************************************
*        函 数 名: bsp_spiRead0
*        功能说明: 从SPI总线接收8个bit数据。 SCK上升沿采集数据, SCK空闲时为低电平。
*        形    参: 无
*        返 回 值: 读到的数据
*********************************************************************************************************
*/
uint8_t bsp_spiRead0(void)
{
        uint8_t i;
        uint8_t read = 0;

        for (i = 0; i < 8; i++)
        {
                read = read<<1;

                if (MISO_IS_HIGH())
                {
                        read++;
                }
                SCK_1();
                bsp_spiDelay();
                SCK_0();
                bsp_spiDelay();
        }
        return read;
}

为啥
if (MISO_IS_HIGH())
{
read++;
}
在 SCK上升沿的前面

tcs_stm32 发表于 2023-1-2 00:13:27


看了下手册, 难道是发送地址后的第一个下降沿就输出bit7的数据?
我的理解是, 存储器是在下降沿将输出并锁定, 单片机在上升沿把MISO引脚的数据存储到单片机的移位寄存器

eric2013 发表于 2023-1-2 00:32:05

tcs_stm32 发表于 2023-1-2 00:13
看了下手册, 难道是发送地址后的第一个下降沿就输出bit7的数据?
我的理解是, 存储器是在下降沿将输出并 ...
实际上我们用的是这种模式,这种模式下,MISO上数会提前准备好,所以可先读取。




lihui163 发表于 2023-1-12 10:24:40

eric2013 发表于 2022-12-28 11:56
没问题,这种的两种玩法
1、一种是芯片支持QSPI Flash内存映射模式(可以直接在QSPI Flash运行程序), ...

非常感谢,有个问题,外部flash存储程序,这样keil还可以仿真调试?

eric2013 发表于 2023-1-12 10:30:29

lihui163 发表于 2023-1-12 10:24
非常感谢,有个问题,外部flash存储程序,这样keil还可以仿真调试?
这两种玩法都可以仿真
https://www.armbbs.cn/forum.php?mod=viewthread&tid=86980




lihui163 发表于 2023-1-12 12:59:38

eric2013 发表于 2023-1-12 10:30
这两种玩法都可以仿真
https://www.armbbs.cn/forum.php?mod=viewthread&tid=86980

好的非常感谢

eric2013 发表于 2023-1-13 04:09:16

lihui163 发表于 2023-1-12 12:59
好的非常感谢

你先搞搞,后面有什么问题再交流{:33:}

lihui163 发表于 2023-1-15 17:03:06

eric2013 发表于 2023-1-13 04:09
你先搞搞,后面有什么问题再交流

好的

蜗牛snail 发表于 2023-4-10 21:13:29

看了一下这个确实强大,问个问题,这个算法实现之后,实际应用工程里面要怎么设置编译之后才不会报超超空间的错误

eric2013 发表于 2023-4-11 09:16:25

蜗牛snail 发表于 2023-4-10 21:13
看了一下这个确实强大,问个问题,这个算法实现之后,实际应用工程里面要怎么设置编译之后才不会报超超空间 ...

此贴方法,字体图库程序等设置分配到对应的外置Flash空间即可。

第3版emWin教程和ThreadX GUIX教程开工,双管齐下,GUIX更新至第30章,emWin更新至第57章(2022-04-04)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=98429&fromuid=58
(出处: 硬汉嵌入式论坛)

蜗牛snail 发表于 2023-4-11 14:08:04

这个算法做完,素材内容也烧录到外部flash之后,实际应用工程里面需要在对这几个模拟SPI的IO口再做初始化吗?

eric2013 发表于 2023-4-11 15:26:10

蜗牛snail 发表于 2023-4-11 14:08
这个算法做完,素材内容也烧录到外部flash之后,实际应用工程里面需要在对这几个模拟SPI的IO口再做初始化吗 ...

你的工程应用和这个算法烧录没关系,他们是两个独立的东西。烧录的算法仅管烧录。

而你的工程,该怎么用还怎么用即可,初始化SPI Flash,读写操作等

蜗牛snail 发表于 2023-4-11 16:37:48

eric2013 发表于 2023-4-11 15:26
你的工程应用和这个算法烧录没关系,他们是两个独立的东西。烧录的算法仅管烧录。

而你的工程,该怎么 ...

那就是在用到素材的是时候要通过spi去从外部读到内部ram里面。我看文档21章里面有个加载SPI FLASH中数据到动态内存,但是没看到怎么通过SPI去读。所以才有这个疑问

eric2013 发表于 2023-4-12 08:17:06

蜗牛snail 发表于 2023-4-11 16:37
那就是在用到素材的是时候要通过spi去从外部读到内部ram里面。我看文档21章里面有个加载SPI FLASH中数据 ...

这个属于GUI的玩法了,玩法很多。
1、可以一直在SPI Flash里面,向emWin这种支持直接从SPI Flash边读取边使用。
2、如果支持QSPI Flash的内存映射玩法,可以直接向SRAM一样,从里面读取使用。
3、也可以读取到动态内存,加快刷新速度。

蜗牛snail 发表于 2023-4-12 09:19:39

eric2013 发表于 2023-4-12 08:17
这个属于GUI的玩法了,玩法很多。
1、可以一直在SPI Flash里面,向emWin这种支持直接从SPI Flash边读取 ...

嗯嗯,这里还是有些没搞懂,比如每张图片对应的是一个数组,按照烧录算法搞进外部FLASH里面,那每张图片的地址是怎么算的,在用到的时候要去哪个地址读取,这个过程有没有文档教程说明

eric2013 发表于 2023-4-12 10:29:19

蜗牛snail 发表于 2023-4-12 09:19
嗯嗯,这里还是有些没搞懂,比如每张图片对应的是一个数组,按照烧录算法搞进外部FLASH里面,那每张图片 ...

我建议看我前面分享你的教程,先操作熟练下{:33:}
页: 1 [2] 3
查看完整版本: 【实战技能】任何支持SWD接口的单片机都可以方便移植的SPI Flash烧写算法制作,含视频说明(2022-05-30)