导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    YuzukiXR806 使用 FreeRTOS 开发运行Hello Demo

    Wireless & Analog Series
    4
    10
    3353
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • YuzukiTsuru
      柚木 鉉 LV 9 最后由 YuzukiTsuru 编辑

      下载SDK

      打开全志客户服务平台,找到XR806的SDK,翻到第二页找到v1.2.1版本。

      一定要下载v1.2.1版本
      一定要下载v1.2.1版本
      一定要下载v1.2.1版本

      相关说明:

      【严重警告】不要用全志客户服务平台Freertos v1.2.0版本编出来的固件烧到XR806开源鸿蒙开发板,否则板子会烧掉
      https://bbs.aw-ol.com/topic/1124/share/1

      2563154a-5cc4-48d9-b82f-b5eda71b542e-image.png

      然后拉取代码,拉代码之前务必确认正确添加了本机公钥。配置方法见https://www.bilibili.com/video/BV1gu411q7E8/

      1f4363e1-b1f2-4b11-9a9b-8337cb8a21ce-image.png

      配置工具链

      下载gcc-arm-none-eabi-8-2019-q3-update编译器,并解压。

      ~$ wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/8-2019q3/RC1.1/gcc-arm-none-eabi-8-2019-q3-update-linux.tar.bz2
      ~$ tar -jvxf gcc-arm-none-eabi-8-2019-q3-update-linux.tar.bz2
      

      9b6a72c1-e8cf-4661-858c-5c75d393d217-image.png

      打开gcc.mk文件,修改CC_DIR :=到工具链位置。

      修改前
      25120df6-04c2-4508-823f-99970ef6d26f-image.png

      修改后
      8a15906e-efc7-4b55-97b5-973575877981-image.png

      编译Demo

      make menuconfig
      

      然后进入这样的窗口
      9c6dcab5-ea3c-4753-9907-b941b2262c63-image.png

      键盘方向键选择到Exit,回车
      e7b8cbe8-98ee-4d09-885e-540d244d4107-image.png

      选择Yes,保存配置。

      e9ad23ee-12dc-49e4-81aa-4e169cbace7e-image.png

      然后就可以编译demo了

      make PRJ=demo/hello_demo
      

      制作镜像

      进入上一步的demo目录下:

      cd project/demo/hello_demo/gcc/
      

      执行

      make image
      

      可以看到:

      Flash Layout:
      sec bin 0 boot_40M.bin      :	flash_offs: 0x00000000(   0K)	data_size: 0x00002F28(  12K)
      sec bin 1 app.bin           :	flash_offs: 0x00004000(  16K)	data_size: 0x00004920(  19K)
      sec bin 2 app_xip.bin       :	flash_offs: 0x00029800( 166K)	data_size: 0x000058D0(  23K)
      
      generate image: xr_system.img
      cp -t ../../../../out/ ../image/"xr806"/*.bin ../image/"xr806"/xr_system.img *.map
      

      回到SDK根目录下可以看到out文件夹,进入后可见输出文件:

      375597e8-f248-4b39-8234-9f983f84442e-image.png

      打开烧录软件PhoenixMC,选择编译出来的固件,选择COM口,选择115200

      e5c8f357-22b0-4c29-adf6-51729a02c81b-image.png

      按住UPG键,点一下RST键让其进入下载模式

      55065984-fc03-4785-af87-da3f857f583a-22.jpg

      运行

      2a7f9acd-b123-4e8f-82fe-82a60987e66d-image.png

      1 条回复 最后回复 回复 引用 分享 0
      • W
        wlb965 LV 3 最后由 编辑

        问题来了,运行完hello demo后呢??怎么进行开发?需要了解Makefile文件,重新写一遍?因为要增改文件。

        1 条回复 最后回复 回复 引用 分享 0
        • Y
          yelong98 LV 7 最后由 编辑

          来个xr872整个活

          1 条回复 最后回复 回复 引用 分享 0
          • YuzukiTsuru
            柚木 鉉 LV 9 最后由 编辑

            @wlb965 对

            W 1 条回复 最后回复 回复 引用 分享 0
            • W
              wlb965 LV 3 @YuzukiTsuru 最后由 编辑

              @yuzukitsuru
              嗯,Makefile一直没学,因为我在想能不能直接通过该Makefile文件就可以持续的开发,因为BootLoader不用改,编译器会自己生成链接脚本,所以我只需要把后面新增的文件加入到路径中就可以了,或者直接include官方的库函数就可以进行后续的开发。还有一个大问题就是,能不能设置当芯片出现错误的时候芯片自动打印出backtrace,这样这样方便调试,定位错误。

              1 条回复 最后回复 回复 引用 分享 0
              • YuzukiTsuru
                柚木 鉉 LV 9 最后由 编辑

                @wlb965 可以,project里按照那个目录结构编写就行了,不需要完全懂

                W 1 条回复 最后回复 回复 引用 分享 0
                • W
                  wlb965 LV 3 @YuzukiTsuru 最后由 编辑

                  @yuzukitsuru
                  但是,我感觉还是有点难下手。我其实也就是加几个自己写的文件,可能还得包括一下一些内核的头文件,如何就编译,然后make image然后就烧录,再之后就是debug。我先琢磨一下呢,不会再发帖了。

                  1 条回复 最后回复 回复 引用 分享 0
                  • D
                    dream LV 6 最后由 编辑

                    奇怪,我下载下来,配好环境,make menuconfig 会提示缺少 <ncurses.h> 文件,为啥楼主那么顺利的😣 :

                    $ make menuconfig
                    make[1]: Entering directory '/cygdrive/d/Work/xr806_sdk/tools/config'
                    HOSTCC mconf.c
                    In file included from mconf.c:23:
                    lxdialog/dialog.h:19:10: fatal error: ncurses.h: No such file or directory
                       19 | #include <ncurses.h>
                          |          ^~~~~~~~~~~
                    compilation terminated.
                    make[1]: *** [Makefile:24: build/mconf.o] Error 1
                    make[1]: Leaving directory '/cygdrive/d/Work/xr806_sdk/tools/config'
                    /cygdrive/d/Work/xr806_sdk
                    tools/config/mconf ./Kconfig
                    make: tools/config/mconf: No such file or directory
                    make: *** [Makefile:124: menuconfig] Error 127
                    
                    
                    YuzukiTsuru 1 条回复 最后回复 回复 引用 分享 0
                    • YuzukiTsuru
                      柚木 鉉 LV 9 @dream 最后由 编辑

                      @dream 缺ncurses,包管理器进行安装

                      D 1 条回复 最后回复 回复 引用 分享 0
                      • D
                        dream LV 6 @YuzukiTsuru 最后由 编辑

                        @yuzukitsuru 是的,后来我也发现了。谢谢。

                        1 条回复 最后回复 回复 引用 分享 0
                        • 1 / 1
                        • First post
                          Last post

                        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                        行为准则 | 用户协议 | 隐私权政策