如何使用“ArduPilot-Arduino-1.0.3-windows”编译,上传APM程序

如何使用“ArduPilot-Arduino-1.0.3-windows”编译,上传APM程序,第1张

APM飞控程序是开源的,我们可以对某一版本的APM飞控程序进行修改做二次开发。当对APM程序二次开发完成后就要将修改的APM程序编译上传到APM飞控板子中。下面就是介绍如何使用“ArduPilot-Arduino-1.0.3-windows”编译、上传APM程序。

1,下载APM飞控程序编译环境(IDE)--“ArduPilot-Arduino-1.0.3-windows”,注意不要使用其他版本的Arduino编译环境。

2,下载一个APM飞控程序,例如:ArduPlane-2.75。另外“ArduPilot-Arduino-1.0.3-windows”文件夹与飞控程序文件夹放在一个文件夹中,文件夹的命名最好都是用英文。

3,使用“ArduPilot-Arduino-1.0.3-windows”时,打开该文件夹,直接双击“arduino”图标使用,无需安装。“ArduPilot-Arduino-1.0.3-windows”的设置:

tool-->board: Arduino mega 2560 or mega ADK

tool-->programmer: AVRISP mkII

ArduPilot-->: HAL board: Ardupilot mega 2.X(现在使用的APM2.0-2.5-2.6等)

File-->reference-->Sketchbook 选为要编译的飞控程序文件夹,每次更改后点OK,并关掉Arduino 1.0.3 再打开,这时再选File-->Sketchbook中一项进行编译。

例如,对File-->Sketchbook中ArduPlane进行编译,点击工具栏中“对号”图标开始编译,没有错误大约1分钟就能编译结束。编译完成之后将APM通过数据线连接到电脑上(编译时就连接也可以),选择Board-->serial-port 选择APM的接口。之后点击工具栏的“向右箭头”图标将编译好的程序写进APM,这样就完成了一次对APM飞控程序的刷新。

现在的APM飞控程序不经删减,编译后的大小很容易超过248KB(256KB总内存-8KB的Bootloader占用内存),当编译后大于248KB时不能上传到APM中否则会破坏APM的bootloader.

aver/pinpoint(github上2148个star)

韩国的一个公司开源的,有待评估使用情况,就是整体还不是JDK8,有些还是有点费劲,技术上采用agent的方式,对java友好

大众点评cat(github上1725个star)

看接入的公司还是挺多的,个人感觉是点评名气还可以,但是搭建起来有点费劲,很多东西都写死配置了,不灵活。整体设计的话,由于没有采用agent的方式,采用的是api手工埋点的方式,跟SNG的很像,好处的是跨语言,不好的地方就是对java来说用起来还需要包装一下

ky-walking(github上374个star)

开发团队加入了OneAPM,目前看使用的公司不多,整体技术采用agent方式,对java友好。提供了对dubbo等的支持,属于soa时代的产品

从技术架构上看,对于log的存储都使用了hbase,也都是自己实现了日志/监控数据的上报。pinpoint支持udp的方式,这个好一点。这类还是有点SOA时代的痕迹,更为符合大数据时代的做法是,监控数据丢给kafka,然后监控server来消费数据即可,这一点在cat中使用了consumer有点这个味道,但是没有彻底转型过来。

APM整体的功能结构,主要是 1.日志追踪,2.监控报警 3.性能统计。对于日志追踪,已经有spirng cloud zipkin了,这个对spring cloud体系结合的很好,确的就是监控报警和性能统计,可以采用agent的方式进行无侵入的监控,或者采用log appender的方式到kafka,之后再进行error的监控报警,以及把performance的数据log到日志,发送到kafka来进行统计。

inpoint

大众点评Cat--架构分析

透过CAT,来看分布式实时监控系统的设计与实现

ky-walking

skywalking用懂源码可以进大厂吗

懂源码是可以进大厂的

源码也叫源代码、源程序,即编程者(程序员)编写的程序代码,一般都是用高级语言(basic、c等)构成。

源码的作用是程序员不必直接编写晦涩的机器语言,而以容易明白的高级语言代替,方便了程序的理解和修改。

源码经过编译,转换为微机可以执行的机器代码,即可以提高程序的运行效率,又可以保护编程者的版权利益!

msgstr 在你的程序里面是个字符串,根据不同的情况,得到不同的msgstr ,<br>alert msgstr <br>这句才是d出对话框,在这里msgstr是个参数!<br>alert "你好"<br>和这个是一样的道理,只不过msgstr 在这里是变量


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12199340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存