zyftank 发表于 2022-5-2 10:29:39

IoT Pi LoRaWAN移植的一些想法

一个小白的学习过程,因为翼辉只有IoT Pi Pro LoRaWAN设备的开发教程,前段时间下单了IoT Pi,但由于疫情原因一直发不了货。最近想学习一下这个系统,所以先从简单的做起,把各个版本的程序编译通过了,因手头没有开发板也无法验证。

所以寻思了一下,想把LoRaWAN设备移植到IoT Pi 上,先将翼辉LoRaWAN库下载到IoT Pi工程的msrtos_base_sdk文件夹下,仿照教程将库添加进makefile文件里,尔后编译顺利生成了classa_test.bin文件。
既然编译成功了,我就好奇地想学习一下这些代码,以前用过linux系统,也算知道一点linux编译知识,这套编译指令及编译的依整关系都是在makefile和相关的mk后辍文件里进行明确,随着对库的了解,发现翼辉的LoRaWAN库是在semtech的LoRaMac-node库的基础上开发的。所以我就想把翼辉和semtech的库比较一下,看看翼辉是如何修改的。

再进一步地学习时,发现了一个神器,就是Beyond Compare这款软件,虽然是收费的,可是有个小方法,每天运行一次,可以将这款软件的试用期一直保持在30天。

刚开始比较的时候,用翼辉的库和semtech的当前版本的库进行比较,发现修改的地方特别多,后来才发现翼辉用的库的版本和semtech库的当前版本是不一样的,在github上下载了和翼辉相匹配的版本,再用beyond compare软件进行比较,发现翼辉对semtech库修改的地方并不多,以下是两个库比对的结果。




翼辉在semtech库的基础上开发了板级运用的程序,就是lorawan库里的claasea_test.c、ms_lora_config.h、ms_lora_porting.c、ms_lora_porting.h、ms_lora_sx1276_board.c这五个文件,以及makefile及mk等编译文件等。

由于编程水平有限,本来就是想弄明白翼辉如何初始化开发板的GPIO引脚的,可是在这几个文件里绕来绕去,最终也没能弄明白,有大神可以指点一下吗?
页: [1]
查看完整版本: IoT Pi LoRaWAN移植的一些想法