0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Ti60F100用片内flash启动RISCV程序不能成功的解决办法

XL FPGA技术交流 来源:XL科技 作者:XL科技 2023-02-15 17:13 次阅读

最近有客户反馈Ti60F100如果用片内flash启动RISCV 程序不能成功。所以才有此篇。

(1)Ti60F100内部是一个16Mbit的flash,每个地址对应的是一个8位的数据,所以,地址范围是0x000000~0x200000。

所以默认生成的demo的soc从falsh的加载地址是0x380000已经超出了flash的范围,当然也就不可能加载成功了。

所以第一步就是要修改RISCV从flash的启动地址。通过Efinity RISC-V IDE打开bootloaderConfig.h文件,宏定义#define USER_SOFTWARE_FLASH 0x880000就是定义从flash的启动地址。

我们这里修改0x180000,因为我们的APP程序是很小,保证了不会超出flash的存储范围。

e3696368-ad09-11ed-bfe3-dac502259ad0.png

编译bootloader工程生成hex文件,然后在sapphire IP里面添加相应的文件,新版本的IDE支持直接添加bootloader hex文件到工程中,如下图,勾选Overwrite the default SPI bootloader with the user application.然后在Browse中添加相应的bootloader.hex文件,生成IP即可。

e38bd0ec-ad09-11ed-bfe3-dac502259ad0.png

那是否就可以用了呢?其实不是,还需要按照下面的文章进行修改,以保证RISC V对flash的读写正确。

Ti60F100 Flash处理方案 (qq.com)

之后重新编译工程,并合成文件。

e3a36e64-ad09-11ed-bfe3-dac502259ad0.png

下载程序,加载成功。

(2)修改APP在外部存储的空间大小。

如果APP程序比较大,需要修改APP在外部存储器的分配空间,如下图,默认是124K,根据需要来修改,下图我们修改成了1MB.

e3b716ee-ad09-11ed-bfe3-dac502259ad0.png

编译程序的结果如下

e3d22dd0-ad09-11ed-bfe3-dac502259ad0.png

但是要注意生成过程要勾选上external_script_embedded_sw选项,生成的embedded_sw文件才会更新,但是要注意会覆盖之前修改的信息,所以这是需要注意的。

e3f3de62-ad09-11ed-bfe3-dac502259ad0.png

e401261c-ad09-11ed-bfe3-dac502259ad0.png


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7484

    浏览量

    163768
  • SoC芯片
    +关注

    关注

    1

    文章

    610

    浏览量

    34905
  • Flash模块
    +关注

    关注

    0

    文章

    4

    浏览量

    6086
  • RISC-V
    +关注

    关注

    45

    文章

    2271

    浏览量

    46132

原文标题:Ti60F100 RISCV 从flash不能启动解决方案

文章出处:【微信号:gh_ea2445df5d2a,微信公众号:FPGA及视频处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Ti60F100 内外flash操作方案

    有客户认为Ti60F100内部flash容量比较小,只有16Mb,需要外挂flash.这里我们提供了内部flash和外部flash分别操作的
    的头像 发表于 05-20 16:42 1554次阅读
    <b class='flag-5'>Ti60F100</b> 内外<b class='flag-5'>flash</b>操作方案

    如何编写C2000Flash

    如何编写C2000Flash?DSP中的Flash的编写方法有三中: 1.通过仿真器编写:在我们的网页上有相关的软件,在销售仿真器时我们也提供相关软件。其中LF240x的编写可以在
    发表于 04-07 08:49

    奇怪的zigbee组网不成功 请问有什么解决办法

    :osal_start_timerEx( ZDAppTaskID, ZDO_DEVICE_RESET, 1000 );// 清除网络参数,并重启另:抓包工具的不熟,但组网不成功时看到routet在个个信道广播申请,未见coordinator回复。以上,问题全部,请高手帮
    发表于 08-09 08:08

    DSP端的程序不能成功启动是什么原因?

    )",1,但是我将ARM中的工程OMAPL138DemoInterrupt的输出格式改为"eabi(ELF)"后,在重新合成新的ais文件,烧写到NandFlash中,此时DSP端的程序不能成功启动了,请问是什么原因呢?
    发表于 08-14 10:32

    Flash锁死的解决办法是什么

    怎样去选择STM32的三种启动方式呢?Flash锁死的解决办法是什么?
    发表于 01-18 07:11

    LPC4370怎样才能在flash启动后,又能成功读写flash

    /misc_spifi_tst,在运行到spifi_comde_dst,在运行();就会出现总线异常进入而崩溃,如果程序在RAM中启动运行就不会出现总线异常,想请教下怎样才能在flash启动
    发表于 04-27 06:04

    F103的FLASH不能用DFS?

    Flash上的应用,是不支持FLASH?不支持的话我想非阻塞的接收socket数据就不能用select了?那我应该用什么方式呢?多谢各
    发表于 05-11 11:16

    WinCE启动失败原因与解决办法

    本文通过对以上因素进行分析,并提出相应的解决办法。但由于WinCE启动失败会非常取决于硬件平台,因此在具体应用时需要综合考虑和分析。
    发表于 02-26 11:10 1959次阅读

    开机allegro不能正常启动解决办法(1)

    本问介绍了CADENCE软件组件Allegro开机不能正常启动的问题的解决办法
    发表于 08-18 17:26 0次下载

    STM32F0xx_FLASH编程() 配置详细过程

    STM32F0xx_FLASH编程()配置详细过程
    的头像 发表于 04-07 14:21 3208次阅读
    STM32<b class='flag-5'>F0xx_FLASH</b>编程(<b class='flag-5'>片</b><b class='flag-5'>内</b>) 配置详细过程

    STM32F1_ FLASH编程

    STM32F1_FLASH编程
    的头像 发表于 04-08 10:28 3896次阅读
    STM32<b class='flag-5'>F</b>1_ <b class='flag-5'>片</b><b class='flag-5'>内</b><b class='flag-5'>FLASH</b>编程

    Access数据库不能写问题解决办法

    Access数据库不能写问题解决办法(开关电源技术讲座)-文档为Access数据库不能写问题解决办法详解文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,
    发表于 09-17 15:37 7次下载
    Access数据库<b class='flag-5'>不能</b>写问题<b class='flag-5'>解决办法</b>

    STM32F103 库函数写外部中断时程序卡死,追踪运行卡死在启动文件.s的 B.中解决办法,实测OK,供参考

    STM32F103 库函数写外部中断时程序卡死,追踪运行卡死在启动文件.s的 B.中解决办法,实测OK,供参考
    发表于 12-08 12:21 12次下载
    STM32<b class='flag-5'>F</b>103 库函数写外部中断时<b class='flag-5'>程序</b>卡死,追踪运行卡死在<b class='flag-5'>启动</b>文件.s的 B.中<b class='flag-5'>解决办法</b>,实测OK,供参考

    STM32F1 使用easyflash操作flash

    STM32F1 使用easyflash操作flash
    发表于 12-09 10:06 15次下载
    STM32<b class='flag-5'>F</b>1 使用easyflash操作<b class='flag-5'>片</b><b class='flag-5'>内</b><b class='flag-5'>flash</b>

    易灵思Ti60F100驱动LCD屏案例

    其中Ti60F100的核心板与MIPI 子卡之间通过QSE座连接,这也是易灵思所有demo板都使用的接口方案。MIPI子卡通过FPC 30pin座子连接LCD屏。
    发表于 07-10 11:51 1094次阅读
    易灵思<b class='flag-5'>Ti60F100</b>驱动LCD屏案例