华芯微特开发论坛

 找回密码
 立即注册
搜索
热搜: SWM341 资料
查看: 1157|回复: 2

swm341 sfc xip是不是只能4字节对齐访问?

[复制链接]

2

主题

8

帖子

74

积分

注册会员

Rank: 2

积分
74
发表于 2024-2-26 10:56:01 | 显示全部楼层 |阅读模式
本帖最后由 NULL 于 2024-2-26 11:04 编辑

想直接在spi flash中跑代码(XIP)
却发现似乎只能4字节对齐读取?现在的情况就是 代码执行逻辑没问题,比如闪灯正常但是 如果涉及到存储在sfc空间范围内const类型变量的访问——特别是printf打印,就会因为没法字节读取导致问题,表现为printf打印紊乱——波特率没问题。
请问这是芯片固有的设计还是有什么地方可以配置的?

另:从内部flash空间访问SFC空间的结果来看 是只能4字节对齐读取的。
for (size_t i = 0; i < 16; i++)
    {
        log_printf("%X:[%02X] ", i, *(uint8_t *)(SFLASH_BASE + i));
    }
    log_printf("\r\n");
    for (size_t i = 0; i < 16; i += 2)
    {
        log_printf("%X:[%04X] ", i, *(uint16_t *)(SFLASH_BASE + i));
    }
    log_printf("\r\n");
    for (size_t i = 0; i < 16; i += 4)
    {
        log_printf("%X:[%08X] ", i, *(uint32_t *)(SFLASH_BASE + i));
    }
    log_printf("\r\n");
0:[10] 1:[00] 2:[BD] 3:[00] 4:[BD] 5:[00] 6:[C5] 7:[00] 8:[C5] 9:[00] A:[C7] B:[00] C:[C7] D:[00] E:[C9] F:[00]
0:[0410] 2:[01BD] 4:[01BD] 6:[01C5] 8:[01C5] A:[01C7] C:[01C7] E:[01C9]
0:[20000410] 4:[700001BD] 8:[700001C5] C:[700001C7]


回复

使用道具 举报

14

主题

61

帖子

789

积分

超级版主

Rank: 8Rank: 8

积分
789
发表于 2024-2-26 13:34:50 | 显示全部楼层

SWM341 的 SFC 接口没有 Cache,XIP 速度非常慢,,不建议使用。。

如果程序大于 512KB,,可以把程序加载到 SDRAM 中执行。。
回复

使用道具 举报

2

主题

8

帖子

74

积分

注册会员

Rank: 2

积分
74
 楼主| 发表于 2024-2-27 09:19:33 | 显示全部楼层
en 已经放弃xip了 sfc就用来存放资源文件了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|华芯微特开发论坛

GMT+8, 2025-1-9 21:04 , Processed in 0.030661 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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