跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. 开发环境搭建
  4. 如何快速搭建GHS 的 MULTI 工程

如何快速搭建GHS 的 MULTI 工程

已定时 已固定 已锁定 已移动 开发环境搭建
2 帖子 1 发布者 77 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • FrankieF 离线
    FrankieF 离线
    Frankie YunTu
    编写于 最后由 编辑
    #1

    目前YCT工具是可以支持直接生成CMAKE + GHS Compiler 的 工程的,无需任何改动,可以直接使用
    be7d8751-0677-477e-83b0-7137346929a6-image.png

    但是,如果你想使用 MULTI IDE,那么可以用如下方法快速搭建一个 MULTI IDE的工程

    1. YCT 生成 CMAKE + GHS 的工程, 点击生成,然后用vscode打开
    2. 对 .vscode/settings.json 文件做如下修改:
    {
        "cmake.configureArgs": [
            "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/cmake/ghs.cmake",
            "-DARM_CPU=cortexm33",
            "-DDEVICE_NAME=YTM32B1ME0",
            "-DTOOLCHAIN=GHS",
            "-DCMAKE_PREFIX_PATH=C:\\ghs\\comp_202214",
            "-DGHS_TOOLSET_ROOT=C:\\ghs",
            "-DGHS_TARGET_PLATFORM=standalone",
            "-T comp_202214"
        ],
       
        "cmake.buildDirectory": "${workspaceFolder}/build",
        "cmake.buildToolArgs": [],
        "cmake.sourceDirectory": "${workspaceFolder}",
        "cmake.generator": "Green Hills MULTI",
        "cmake.configureOnOpen": false,
        "cmake.ignoreKitEnv": true,
        "cmake.showSystemKits": false,
        "cmake.enableAutomaticKitScan": false,
        "cmake.enabledOutputParsers": [
            "cmake",
            "gcc",
            "gnuld",
            "msvc",
            "ghs",
            "diab",
            "iar"
        ],
        "cortex-debug.armToolchainPath": "C:\\ghs\\comp_202214"
    }
    

    8485888f-ffa0-4af6-adca-0ded40e2e46b-image.png

    1. 点击vscode 下 的build,生成MULTI的工程 (这个时候会编译报错)

    2. 用MUTLI 打开 xxx.top.gpj 工程 (图中是MCAL ADC_DEMO)
      1ac6a810-b62f-4186-b4e5-98d0fda42e8f-image.png

    3. 找到 xxx.elf.gpj 进行修改
      ade1d26e-cf80-4066-aad3-6bd0c7c9f148-image.png

    4. 增加链接文件
      db323dc7-f773-47f0-ad8e-c77e0477adbc-image.png

    5. 修改链接选项
      bfad8ca9-5360-4ac0-8b64-46ae5d5edbf8-image.png

      1. 删除没有用的lib,只保留如下:
        5532c94b-e955-46e2-9a17-50ecb50adecd-image.png

      2. 设置entry地址为Reset_Handler
        bed4b5bb-8b44-424d-8973-279e7d0abaf3-image.png

      3. 移除默认的启动文件 (Do not Use Start Files)
        9347776a-7a5e-4177-8770-ccf56f92a988-image.png

    6. 编译,用ALL_BUILD 来编译
      17e2885a-44e9-46d8-a5cb-9701e55c47d7-image.png


    总结:优先建议使用vscode + cmake 方式

    1 条回复 最后回复
    0
    • FrankieF 离线
      FrankieF 离线
      Frankie YunTu
      编写于 最后由 编辑
      #2

      Multi IDE编译的时候,有些lib的symbol在编译的时候没有被链接进去(常见的有,中断服务函数,中断向量表等),可以通过如下方式修改:

      1. 修改library的引入方式:
        之前是直接用librarys的绝对路径,现在改为如下:
      • 设置Library Directories
        image.png
      • library引入改为如下形式:
        -lxxx
      1. 强制导出lib的所有symbols,让link的时候可以找到 IVT 等
        823611cd-7d29-4344-81ee-be45ea023bf2-image.png
        744d7fd8-53eb-431c-9237-937a8ec4fdd4-image.png
      1 条回复 最后回复
      1

    • 云途论坛规则/Yuntu Forum Rules

      发帖前请查看

    • YCT离线License申请流程

      帮助没办法联网的电脑使用YCT

    • YT CONFIG TOOL调查问卷

      帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

    • can
      16
      demo
      15
      uds
      7
      lin stack
      6
      fbl
      5
      yt-link
      5
      md14
      4
      adc模块
      3
      Online Users
      wenqiangW
      wenqiang
      • 登录

      • 登录或注册以进行搜索。
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 最新
      • 标签
      • 热门