JieLi_AC791

开发板介绍

  • 1. 开发板概述
  • 2. 开发板资源
  • 3. 系统框图
  • 4. 功能框图
  • 5. 核心板IO功能图表
  • 6. 扩展使用指南
  • 7. 相关文档
  • 8. 开发板申请入口

快速入门

  • 1. 概述
  • 2. 开发准备说明
  • 3. 开发环境安装说明
  • 4. SDK工程编译与下载
  • 5. SDK 应用开发说明
  • 6. 调试方式

工程模板

  • 1. 概述
  • 2. DEMO工程说明
  • 3. WIFI_STORY_MACHINE 工程说明
  • 4. WIFI_CAMERA工程说明
  • 5. WIFI_IPC工程说明
  • 6. SCAN_BOX工程说明

模块例程

  • 1. 概述
  • 2. 外设部分
  • 3. Wi-Fi部分
  • 4. 蓝牙部分
  • 5. UI部分
  • 6. VIDEO部分
  • 7. 系统部分
    • 7.1. AI SDK
    • 7.2. APP_STATE_MACHINE
    • 7.3. CPU性能测试
    • 7.4. CRYPTO
    • 7.5. EVENT
    • 7.6. 异常定位与分析
    • 7.7. INIT_CALL
    • 7.8. OS API
    • 7.9. PTHREAD API
    • 7.10. FS
    • 7.11. LBUF
    • 7.12. 循环BUF
    • 7.13. INTERRUPT
    • 7.14. MALLOC
    • 7.15. MOVABLE
    • 7.16. MATH
    • 7.17. MEMORY
    • 7.18. UPDATE
    • 7.19. 资源区配置(RES和预留区)
    • 7.20. PRINTF
    • 7.21. SDTAP
    • 7.22. 硬件浮点
    • 7.23. WAIT_COMPLETION
    • 7.24. WDT
    • 7.25. LONG_PRESS_RESET
    • 7.26. SERVER
    • 7.27. SOFT_POWER_OFF
    • 7.28. SYSTEM_RESET_REASON
    • 7.29. SYSTEM_TIMER
    • 7.30. 系统启动时间
    • 7.31. 获取代码运行时间的方法
    • 7.32. 库符号重定位到指定段方法
      • 7.32.1. 操作流程
    • 7.33. 源文件变量符号重定位到指定段的方法
    • 7.34. SDK 库说明
    • 7.35. 代码运行在FLASH或SDRAM配置方法
    • 7.36. SDRAM配置
    • 7.37. 系统各模块时钟介绍
    • 7.38. 系统动态时钟
    • 7.39. 系统休眠
    • 7.40. 操作系统单双核使用方法
    • 7.41. 不可屏蔽中断
    • 7.42. VDDIO_SYSVDD_DCDC14系统电压配置说明
    • 7.43. 功耗优化说明
    • 7.44. UBOOT使用说明
    • 7.45. 长文件名使用注意说明
    • 7.46. 扩展外部存储器
    • 7.47. 第三方数据(认证码)烧写功能
  • 8. 网络协议部分
  • 9. 音频部分
  • 10. 第三方库部分

其他

  • FAQ汇总
  • 社区
  • 官方认证
  • 版本
  • 关于
JieLi_AC791
  • 7. 系统部分
  • 7.32. 库符号重定位到指定段方法

7.32. 库符号重定位到指定段方法

Overview

介绍如何将库代码定位到指定段。


7.32.1. 操作流程

为了节省内存或者提升性能, 用户想把整个库例如orig_libx.a文件的全部代码定位到内部ram或者flash或者sdram:

  • 新建一个批处理, 执行 tools/utils/ 目录下 override-seg.exe  --input orig_libx.a --output libx.a --code_seg ".libx.text" --const_seg ".libx.rodata"

  • 在对应cpu目录下的库目录下(如: include_lib/liba/wl82 ) 把 orig_libx.a 替换 libx.a

  • 如果芯片封装有SDRAM, 想把库代码放置SDRAM运行的情况,在对应cpu目录下(如: cpu/wl82/ )的 sdk_ld_sdram.c 配置如下图:

  • 如果芯片封装有SDRAM, 想把库代码放置内部ram运行的情况,在对应cpu目录下(如: cpu/wl82/ )的 sdk_ld_sdram.c 配置如下图:

  • 如果芯片封装没有SDRAM, 想把库代码放置内部ram运行的情况,在对应cpu目录下(如: cpu/wl82/ )的 sdk_ld_sfc.c 配置如下图:

  • 如果芯片封装没有SDRAM, 想把库代码放置FLASH运行的情况,在对应cpu目录下(如: cpu/wl82/ )的 sdk_ld_sfc.c 配置如下图:

Warning

如果出现异常报错pc_limit_err,是由于程序代码跑到其他段系统误以为跑飞,需要把debug_init的pc_rang_limit注释掉。

Previous Next

© Copyright 2010-present, 杰理科技股份有限公司. Last updated on May 17, 2024.