请选择 进入手机版 | 继续访问电脑版
查看: 795|回复: 0

[技术交流] 关于linux移植1302

[复制链接]

8

主题

13

帖子

52

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
52
发表于 2020-11-2 10:42:58 | 显示全部楼层 |阅读模式
1.官方固件下载:
下载库文件目录如下图:

2.编译库文件
2.1 修改交叉编译链和spi
先编译库文件,进入libloragw目录
修改spi驱动:
在源文件loragw_spi.native.c中将spi修改为自己板子的spi路径

然后进入相应的库和程序的Makefile修改自己的交叉编译链


2.2.进行编译
可能会报一下错误,是因为dl和pthread的库没有添加

Makefile中添加即可
再次编译:
有一个警告,源码的问题,不过问题不大,不影响运行,暂时不管。

此时查看目录多出来一个静态库文件,我们程序只要包含他就可以轻松的控制sx1302了

3、测试
在编译库时官方已经将测试代码一并进行编译,只要将这些代码拷贝到板子上就能进行验证,这里以test_loragw_hal为例。
输入./test_loragw_hal -h查看使用方法

输入对应的参数,查看是否启动成功

你问为什么没有显示这么多的信息?
忘记说了,库的日志输出是可以配置的,通过库文件下的library.cfg进行配置
选择对应的输出即可。

4、遇到的问题
4.1 版本校验不通过,且返回的版本号每次都不一样
@因为并不是没有返回数据,所以可以知道的是1301工作正常。
至于SPI写入与读出是否正常不得而知,通过查看驱动发现spi的CS脚并不是原理图上所标记的脚,所以将CS脚连接到硬件上正确的片选端,读取写入程序正常。
4.2 固件版校验错误
描述
每次读取为值都为:actual:185 expected:2
每次都需要写入固件,固件是读取三个固件文件,文件中是固件版本数据,数据量较大。
屏蔽掉固件写入,读取的值还是为185,说明根本就没有写入固件
分析
最大的可能spi没有写入固件
@通过读取写入的固件数据,查看正确,排除写错误
原来写完固件1301会重启里面的mcu,既然固件写入成功,但是重启过后再次读取确失败,很奇怪。
@后面检查配置文件才发现是时钟源选错了,CN470都是使用时钟源为1。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表