# 开发环境说明
## IDE等
- 开发IDE: VSCODE
- 编译软件: arm-none-eabi-gcc, cmake
ubuntu下安装: apt install arm-none-eabi-gcc
- 烧录软件1: stlink
```shell
# 安装依赖
$ sudo apt-get install libusb-1.0
$ sudo apt-get install cmake
$ sudo apt-get install libgtk-3-dev
$ sudo apt install libreadline-dev
# 安装JLink
$ git clone https://github.com/stlink-org/stlink
$ cd stlink
$ cmake
$ make
$ cd bin
$ sudo cp st-* /usr/local/bin
$ sudo cp -r ../../config/chips /usr/local/share/stlink
$ cd ../lib
$ sudo cp *.so* /lib32
$ cd ../..
$ sudo cp config/udev/rules.d/49-stlinkv* /etc/udev/rules.d/
$ sudo apt install stlink-tools
$ sudo apt install stlink-gui
$ st-flash --version
v1.7.0
# 安装flymcu
$ sudo apt-get install stm32flash
```
## 编译
```shell
$ mkdir build
$ cd build
$ cmake -G "Unix Makefiles" -D "CMAKE_TOOLCHAIN_FILE=../CMake/GNU-ARM-Toolchain.cmake" ..
$ make
$ ll src
total 1.0M
drwxrwxr-x 3 eagle 4.0K 6月 11 23:15 .
drwxrwxr-x 6 eagle 4.0K 6月 11 23:15 ..
-rwxrwxr-x 1 eagle 18K 6月 11 23:15 gimbal.bin
-rwxrwxr-x 1 eagle 360K 6月 11 23:15 gimbal.elf
-rw-rw-r-- 1 eagle 51K 6月 11 23:15 gimbal.hex
-rw-rw-r-- 1 eagle 433K 6月 11 23:15 gimbal.lss
-rw-rw-r-- 1 eagle 213K 6月 11 23:15 gimbal.map
drwxrwxr-x 11 eagle 4.0K 6月 11 23:15 CMakeFiles
-rw-rw-r-- 1 eagle 1017 1月 14 08:26 cmake_install.cmake
-rw-rw-r-- 1 eagle 27K 1月 14 08:26 Makefile
```
## 烧录
方式一: ST-LINK
```
$ cd src
$ sudo st-flash write gimbal.bin 0x8000000
```
或者打开st-link软件,点击连接,选择gimbal.bin文件,点击烧录按钮。
![st-link](st-link.png)
方式2:flymcu的stm32flash
需要boot0置1, boot1置0不动。
```shell
# boot0跳线置1
$ sudo stm32flash -w gimbal.hex -v -g 0x0 /dev/ttyUSB0
```
完成烧录后再将boot0跳线改回置0
## 依赖
依赖: python3, python-pip3, python serial
安装python serial: https://www.geeksforgeeks.org/how-to-install-python-serial-package-on-linux/
如果执行报错: usr/bin/env: ‘python’: No such file or directory
执行以下命令解决: sudo ln -s /usr/bin/python3 /usr/bin/python
- 串口调试工具: comtool
安装: sudo pipe3 install comtool
# 问题与注意事项
- 1 中控的中断优先级一定要设置正确,否则有诡异问题。UART2的中断优先级要低于configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY配置(即数字比这个大)。另外一定要加这句:
```C
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); /* 设置优先级分组为4组,即抢占优先级范围为0-15 */
```
- 2 使用串口工具进行命令下发调试时,注意一定要在命令后面带上换行符,因为命令接收以换行符为结束标识,没有换行符会一直收集命令。
# 参考
https://github.com/larriti/stm32f10x-template
https://github.com/erhankur/stm32f103-bluepill
# CMake-based STM32F103C8 Template (Blue Pill)
---
Based on https://github.com/ahessling/STM32F4Template
As an addition;
* style fixer tool (astyle) can be use with `./code-format.sh`
* `make monitor` will open picocom serial terminal
---
### Build
```
./build.sh
cd build
make
```
### Download binary
```
make flash # this will run openocd if it is found during cmake process
```
### Serial terminal
```
make monitor # this will run picocom with 115200 8N1
```
Of course you can run all commands in one shot
`make flash monitor`
### Debug
```
make gdb # this will run gdb and openocd in the background.
todo: kill openocd upon gdb termination
```
没有合适的资源?快使用搜索试试~ 我知道了~
通过stm32f103c8t6和MPU9250控制的智能稳定照明灯(源码+文档)
共181个文件
h:66个
c:53个
jpg:18个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 84 浏览量
2024-08-17
11:59:26
上传
评论
收藏 4.17MB ZIP 举报
温馨提示
stm32 *************** 设计说明 硬件架构设计 STM32F103C8T6中控。 MPU-6050陀螺仪。 OLED 0.96寸屏。 二自由度舵机云台。 软件架构设计 STM32F103C8T6作为中控,连接MPU-6050,读取陀螺仪数据,计算当前云台X/Y/Z角偏移。 将陀螺仪数据展示到OLED屏。 计算陀螺仪偏移后反馈到二自由度云台,调整云台角度,实现稳定照明。
资源推荐
资源详情
资源评论
收起资源包目录
通过stm32f103c8t6和MPU9250控制的智能稳定照明灯(源码+文档) (181个子文件)
tasks.c 144KB
stm32f10x_tim.c 107KB
queue.c 81KB
stm32f10x_flash.c 61KB
stm32f10x_rcc.c 50KB
stm32f10x_adc.c 46KB
stm32f10x_i2c.c 45KB
stm32f10x_can.c 44KB
stm32f10x_usart.c 38KB
system_stm32f10x.c 36KB
stm32f10x_fsmc.c 35KB
timers.c 34KB
oled.c 30KB
stm32f10x_spi.c 30KB
stm32f10x_dma.c 29KB
port.c 29KB
stm32f10x_sdio.c 28KB
tof.c 25KB
event_groups.c 23KB
stm32f10x_gpio.c 23KB
mpu6050.c 23KB
stm32f10x_dac.c 19KB
heap_4.c 16KB
croutine.c 15KB
stm32f10x_cec.c 12KB
list.c 11KB
stm32f10x_rtc.c 9KB
delay.c 9KB
stm32f10x_pwr.c 9KB
stm32f10x_bkp.c 8KB
vehicle_executor.c 8KB
misc.c 7KB
stm32f10x_exti.c 7KB
controller.c 6KB
stm32f10x_wwdg.c 6KB
stm32f10x_dbgmcu.c 5KB
iic.c 5KB
stm32f10x_iwdg.c 5KB
attitude_executor.c 4KB
pca9685.c 4KB
timer_manager.c 4KB
audio_receiver.c 4KB
pwm.c 3KB
stm32f10x_crc.c 3KB
uart_log.c 2KB
task_manager.c 2KB
led_display.c 2KB
arm_roboot_executor.c 2KB
command.c 1KB
sys.c 880B
video_executor.c 740B
main.c 492B
video_receiver.c 247B
stm32f103c8-jlink.cfg 168B
GNU-ARM-Toolchain.cmake 2KB
platform.cmake 457B
FindOpenocd.cmake 233B
fp-info-cache 2.97MB
.gdbinit 124B
gdbinit 66B
.gitignore 28B
stm32f10x.h 624KB
core_cm3.h 107KB
task.h 84KB
queue.h 62KB
cmsis_gcc.h 59KB
timers.h 53KB
stm32f10x_tim.h 51KB
semphr.h 33KB
stm32f10x_rcc.h 30KB
stm32f10x_i2c.h 29KB
event_groups.h 29KB
croutine.h 28KB
stm32f10x_can.h 27KB
stm32f10x_fsmc.h 27KB
FreeRTOS.h 26KB
stm32f10x_flash.h 25KB
stm32f10x_sdio.h 21KB
stm32f10x_adc.h 21KB
list.h 21KB
stm32f10x_dma.h 20KB
stm32f10x_gpio.h 20KB
stm32f10x_spi.h 17KB
stm32f10x_usart.h 16KB
stm32f10x_dac.h 15KB
deprecated_definitions.h 10KB
misc.h 9KB
portmacro.h 9KB
mpu_wrappers.h 9KB
cmsis_compiler.h 9KB
portable.h 8KB
StackMacros.h 8KB
projdefs.h 8KB
FreeRTOSConfig.h 8KB
mpu6050.h 8KB
stm32f10x_bkp.h 8KB
stm32f10x_exti.h 7KB
stm32f10x_cec.h 7KB
stm32f10x_conf.h 5KB
stm32f10x_pwr.h 4KB
共 181 条
- 1
- 2
资源评论
LeonDL168
- 粉丝: 2863
- 资源: 763
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功