- 博客(8)
- 收藏
- 关注
原创 ccs20.2环境下下载bootloader程序
在CCS20.2环境中下载Bootloader程序时,遇到BSL内存保护问题导致下载失败。常规解决方法是通过项目属性设置允许BSL内存读写擦除权限并勾选擦除选项,但有时即使设置后相关擦除按钮仍为灰色且报错。实验发现一个有效方法:需将常规工程和BSL工程放在同一目录下,先下载常规工程进入debug状态,此时BSL工程的属性选项会被激活,随后即可成功下载BSL工程。推测可能是debug状态解除了BSL的部分锁定保护,但需保持两个工程在同一目录下操作才能避免状态切换干扰。这一现象的具体机制尚不明确,但通过此方法可
2025-10-12 16:36:09
338
原创 MSP430程序升级:最简单的一种生成bin的方法
首先,关于生成.bin文件,前面我有文章说过。但是按这种方法,生成的.bin文件写进去之后,芯片没反应,不执行。后来比较了jtag方式下载进去的flash中的memory,发现没有用到的区域,jtag方式存储器全是0xffff,但是写.bin方式,全是0x0000。本项目用的是msp430F67791A,flash地址是0xC000,程序不到64kb,所以导出words数据长度就是0x8000。后来发现一种简单的方式,就是在debug状态下,在memory里面,直接导出.bin数据文件。
2025-08-27 13:19:07
262
原创 MSP430远程更新新思路(固件升级)
起始远程更新无非就是把获得的程序烧写进flash里,所以一个简单可行的思路就是,按正常应用程序方式写程序,包括flash烧写部分,只是把烧写flash的程序放到ram中执行。没有问题之后再拷贝到ram中运行。前言:折腾程序升级好几天了,一筹莫展,资料实在太少了,特别是非常具体的操作步骤,几乎找不到文章,后来想到问题无非就是对flash段的烧写,问题就简单了。如果这部分完成了,事实上可以把这部分程序对应的改成bootloader的程序,因为前面程序完全正确,所以直接挪过去就行了。代码2:ram中运行。
2025-08-27 13:09:31
233
原创 ccs20.2开发msp430,生成.bin,.hex文件
因为开发msp430,所以对应修改为430即可,相应的执行程序在C:\ti\ccs2020\ccs\tools\compiler\ti-cgt-msp430_21.6.1.LTS\bin。在C:\ti\ccs2020\ccs\utils\tiobj2bin可以看到tiobj2bin,打开可以看到例子。工程->properties->build->steps->post-build steps,输入。即可实现hex to bin。
2025-07-27 09:27:46
355
原创 autoware编译出现fatal error: angles/angles/angles.h
home/XXX/autoware/src/sensor_component/external/nebula/nebula_decoders/include/nebula_decoders/nebula_decoders_velodyne/decoders/velodyne_scan_decoder.hpp:18:10: fatal error: angles/angles/angles.h: 没有那个文件或目录。把它改成#include <angles/angles.h> //Humble就可以了。
2024-10-23 11:19:23
494
1
原创 dronecan在嵌入式系统中的实现
本身来讲,Dronecan是个很简单的东西,类似marvlink,使用起来也是类似的。但是我的感觉是dronecan相对marvlink开发,人为的加大了难度,到底是哪些人加大了这个难度呢,我也不知道,就是感觉有人在刻意垄断这个技术,各种语焉不详。为了一个很简单的东西,我搞了三四天,最后莫名其妙解决了,所以记录一下。事情的起因是我买了一个dronecan接口的gps,这玩意儿是无人机上用的,标准接口,即插即用,问题就来了,我不是用的通用飞控板+标准飞控软件,而是自己搞的控制板。
2024-10-17 13:18:43
2804
8
原创 QGroundControl深度开发(2)-关于mavlinks你需要知道的
(4)也就是说,发送消息的时候,把数据放到你的结构体里,然后调用对应消息的XXXpack函数打包进message,然后用mavlink_msg_to_send_buffer把message打包进buffer(主要是添加header),然后用你的通信口把buffer发出去就可以了。(5)在上述过程中,会包含crc校验。mavlinks是一个非常好的协议形式,能够快速构建各种你需要的协议,一方面你可以用mavlinks已经定义好的各种协议,另外一方面你可以非常方便的自定义协议。
2024-07-14 10:59:56
729
原创 QGroundControl深度开发(1)-蓝牙问题
但是这两句话程序里是查不到的,是一个没有出现在程序里的QT的permission类出了问题。运行程序后,第一次运行会弹出申请权限的对话框(有个申请fine location权限,但是这个权限明明在AndroidManifest.xml里添加过了,搞不懂为什么),允许后就能找到蓝牙了。网上下载了一个蓝牙遥控器程序,编译后是可以搜索蓝牙设备的,但是也没发现和QGC的蓝牙部分程序有什么太大差异。从网上搜索了很多方法,各种权限设置,包括手动改手机权限,都没有用。这段程序会查询权限,权限不够会弹出对话框申请权限。
2024-07-14 09:45:01
625
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅