- 博客(14)
- 收藏
- 关注
原创 HUAWEI 擎云L420 折腾记 (搭建arm gcc、openocd 雅特力 MCU开发环境)
心血来潮,能不能在纯国产的笔记本、系统上进行开发, 划拉了一下市面上能买到的设备,也就华为擎云L410 、L420 还能买得起,用的上,因此小黄鱼2xxx 买了一部99新的擎云L420 开始尝试是否能搭建起来工作环境。
2023-02-16 11:12:42
5033
原创 betaflight 代码结构
这次针对BF 的移植,主要对于target、Driver、link、make 等进行修改,重点在于driver文件夹, 由于原始BF主要使用STM32 系列,从F1 到H7 都有移植,所以原始的代码已经十分复杂,AT32 的外设结构与STM32G4 比较类似,所以主要以G4 相关HAL库为蓝本进行修改移植。对飞控的“输入输出”,如视频、crsf、bb响、flash、gps、舵机、图传等的输入输出抽象。加速计、adc、电池、气压、compass等传感器抽象。GPS、RX、VTX等。硬件配置、接口抽象化。...
2022-08-16 19:09:20
2834
原创 0-序-为什么移植BF
这次拼装打开了我对穿越机飞控的大门,从此深陷飞控大坑,买了STM32开发相关的书籍自学MCU知识、阅读BF 的源代码。选择国产芯片,一方面是想降低飞控的价格,让各位模友降低费用,另外一方面也是想着在过程中对比、学习MCU 的开发知识,以实际项目促进自己的学习,事实证明这确实是一条学习的捷径,使我快速了解了ST、AT 两套MCU 的基础知识,也掌握了BF 的代码结构,因此整理了整个移植过程,希望能够给其他同好留下一些线索,给自己做一次系统的知识总结。...
2022-08-16 19:06:23
396
1
原创 betaflight从 STM32 移植到AT32 笔记大纲
经过接近5个月的努力,已经将开源飞控 betaflight 4.3.0 -rc2 从stm32 移植到 雅特力at32F435/7,用开发板对目标功能验证通过, 协同另外一个朋友(N.T.Jia) 正在制作原型飞控板进行试飞验证。趁这段时间开一个坑,总结一下怎么把bf 移植到非STM32 系列的MCU上,以及遇到了哪些坑、怎么进行优化,以及后继如何对bf 固件进行定制等话题。...
2022-08-16 19:06:02
1599
原创 HAProxy 源代码阅读指引
HAProxy 源代码阅读指引HAProxy 是一款性能优异的高可用proxy 软件,在抽空整理其源代码与文档之后,感叹作者编码水平之高,项目注释之清晰、文档之齐全,阅读代码过程中让人欲罢不能,往往回首已经2、3个小时过去了。特此记录学习路线在此,供其他朋友借鉴。你值得在HAProxy的源码中徜徉200个小时!你可以在HAProxy的源代码中学习到如何写一个优秀的高性能软件!你可以...
2018-08-01 22:38:46
4982
原创 SeaWeedfs 分布式网络文件存储介绍
SeaWeedfs 分布式网络文件存储介绍引子随着业务量增长,一个系统需要存储上百万文件的情况越来越多,尤其是互联网网站。在这种情况下依然使用传统磁盘/共享存储的方式进行支持会有以下问题: * 文件的备份、恢复困难,大量文件的copy 耗时耗力 * 文件数量暴增占满操作系统文件系统inode,导致磁盘空间虽然没有用完但是因为inode用尽无法使用 * 文件读取效率太低...
2018-07-21 09:31:23
13347
1
原创 go 类型断言与强制类型转换
在读他人源码的时候碰到一个自己没读懂的写法:if r,ok:=w.(io.Reader);ok{ r.Read(&buffer)}其中 w 原来是个interface{} 对象指向一个自定义的输入输出插件,实现了 io.Reader 和io.Writer 后来翻了翻,这个写法是go 的type assertion最典型的type assertion type ...
2018-07-21 09:28:52
4779
原创 goreplay 源代码分析
goreplay 源代码分析goreplay 是一个不错流量重放测试工具,支持流量的抓包、记录、冲放等功能,在通读代码之后,觉得虽然代码水平不如大厂的优美,但是不失是一个小巧而好用的个人工具,因此记录笔记如下:## 目录结构与初步分析 目录比较扁平,主要看plugin.go \settings.go \emmit.go 几个主要文件,其他input_xxx ,output_xxx 都是...
2018-07-21 09:25:26
1659
原创 Go Time 中的YYYYMMDD 坑
/* 目标: 演示 go 中 yyyymmdd 字符 与 的时间计算、转换*/package main import ("time""fmt""strconv") func main() { //lastFetch,_:=time.Parse("20171111","20170701") //func Date(year int, month Month, day
2017-07-13 18:32:34
3174
原创 Mac os 10.12.5 go 程序 Killed 9 直接退出问题
使用到Cgo的 go程序,在mac下编译时通过 但是在执行的时候直接报 Killed 9没有任何提示的退出,这是mac的bug,暂时的办法;go build -ldflags=-s也就是改为静态编译,同样升级go 到 1.8.3 也可以解决问题 brew update golang
2017-07-12 23:59:20
3668
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人