简介
本目录模板为 STM32H743-atk-apollo 开发板提供的 BSP (板级支持包).
拷贝: stm32h743-atk-apollo -> cqlh_i1camera
环境
CPU: x86_64
OS: ubuntu 20.04
编译工具:
在arm 官网上搜索 gnu-rm 就可以找到 gcc 下载页面, 然后下载 gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
烧写工具:
开发板买的 stm32h743, 尝试了 stm32cube 工具可以下载, 我就纳闷, 为啥我用stlink 不得行, 然后看了下项目, 发现 stm32cube 好像一个 jar包, 并不是单独的 stlink 命令.
但离谱就是github上 stlink 官方居然没有支持这款芯片, 然后 用的 st-link 用 jlink 项目也不兼容.
当然大家可以康康 openocd. 个人浏览了一下, 感觉有点复杂.
后来找到一个基于 pyusb 完成的 下载工具 pystlink
使用方法: pystlink flash:erase:verify:~/worksapce/code/hardware/projects/workspace/box_led/debug_gcc/board_test.bin
rt-thread 源码:
~/worksapce/code/hardware/camera/rt_thread/rt-thread
rt-thread 配置:
windows 系统直接下载 env,官网有说明.
其实我不是很明白,为啥教程就没有说明linux系统下面怎么折腾, 然后在官方论坛上总算找到一点东西.
scons --menuconfig // 如果第一次运行, 那么会 clone https://github.com/RT-Thread/packages.git 项目到 ~/.env/packages/ 下面.
系统配置, 本质就是通过一些宏定义管理一些代码. 不要想着 menuconfig 多么自动, 有啥自定义功能, 或者需要添加宏配置, 请移步开发教程, 好好深研一下.
然后就是将 menuconfig 保存的 .config 文件变为需要的 rtconfig.h 头文件供编译使用.
scons --useconfig=.config
rt-thread提供了将rtconfig.h 转化为 .config文件的工具.
scons --genconfig
我记得我配置了, 然后报错, 说差了一个 pcf8574 的头文件, 然后运行:
source ~/.env/env.sh
pkgs --update
这个代码会自动clone 一个 https://github.com/RT-Thread-packages/pcf8574.git 的项目, 然后解决了.
编译
编译的话就相对简单一些. 需要在 rtconfig.py 中指定一下编译工具路径. 然后
scons