SX1302官方开源代码无法在NUC980主控芯片中使用SPI片选脚

情况说明
Sx1302代码:https://gitee.com/rejeee/gw1302s
NUC980DK61Y内核代码:官方提供的虚拟机镜像包(里面包含linux内核及交叉编译工具链)
SPI引脚使用:


如上图可见,使用了NUC980的SPI0口。使能SPI0口后,运行网关程序时,却始终反馈如下错误:

lgw_connect:1230: ERROR: NOT EXPECTED CHIP VERSION (v255)
ERROR: [main] failed to start the concentrator
Cycle 0 > error during the buffer comparison

经示波器检查发现片选脚无电平变化,但我们已经开启了SS0片选功能。仔细排查内核代码后,发现文件:

user@ubuntu:"Youself path"/NUC970_Buildroot-master/output/build/linux-master/arch/arm/mach-nuc980/dev.c

中有这样一段代码:

#ifdef CONFIG_SPI_SPIDEV{.modalias = "spidev",.max_speed_hz = 75000000,.bus_num = 1,#if defined(CONFIG_BOARD_IOT) || defined(CONFIG_BOARD_LORAG).chip_select = 0,       //use SS0#else.chip_select = 1,       //use SS1#endif.mode = SPI_MODE_0,},
#endif

#if defined(CONFIG_BOARD_IOT) || defined(CONFIG_BOARD_LORAG)中我们可以看出,只有当配置文件为IOT与LORAG时,才会使用SS0片选脚。但我们在make menuconfig时配置的不是这两个文件,而是eth2uart文件。
因此内核代码配置的是使用ss1而不是ss0。

解决方法
在if条件后加上defined(CONFIG_BOARD_ETH2UART),即:

#ifdef CONFIG_SPI_SPIDEV{.modalias = "spidev",.max_speed_hz = 75000000,.bus_num = 1,#if defined(CONFIG_BOARD_IOT) || defined(CONFIG_BOARD_LORAG) || defined(CONFIG_BOARD_ETH2UART).chip_select = 0,       //use SS0#else.chip_select = 1,       //use SS1#endif.mode = SPI_MODE_0,},
#endif

同时通过make linux-menuconfig进入内核配置界面,在Device Drivers > Memory Technology Device (MTD) support界面下取消SPI-NOR device support配置。

重新编译后,即可成功连接服务器。

SX1302官方开源代码无法在NUC980主控芯片中使用SPI片选脚相关推荐

  1. 流量回放开源代码Java_流量回放框架 jvm-sandbox-repeater 的实践

    一. 前言 你是否和我一样遇到过以下的问题? 1)服务重构,一堆接口需要回归,让人头疼 2)每次迭代,都要花很多精力来进行回归测试 3)线上 bug,线下复现不了 4)接口自动化用例写辛苦,维护更辛苦 ...

  2. 手把手教你构建WPF官方开源框架源代码

    从去年微软就将 WPF 开源了,差不多现在所有 WPF 的源代码都开源了.在学习框架的时候,我会做一些改动,期望能构建一个自己的版本进行测试.但是作为一个特别大的框架,想要构建跑起来可不是直接在 Vi ...

  3. 封禁丑闻不断,开源代码托管动了谁的奶酪?

    3月24日传出消息,GitHub封禁了一个属于微软的前端开源项目Aurelia,理由是"项目中有两名来自伊朗的外部贡献者". 作为全球最大的开源软件代码的托管平台,GitHub理应 ...

  4. 微软nni_实践空间站 | 为微软官方开源项目贡献代码,你准备好了吗?

    亟需一个契机重新驱动你在冬日沉睡的大脑? 2020 年春季学期微软学生俱乐部实践空间站项目正等待你大展身手! 实践空间站是微软学生俱乐部打造的全学年持续性活动,通过项目导师指导与自主创新结合的方式,帮 ...

  5. 一加手机怎么root权限_一加7怎么root 官方内核代码开源是关键

    首先需要了解的是,目前一加7官方内核代码还没有开源,暂时还不能进行root操作,因此只有等待一加7的官方内核代码开源后才可以进行root操作,对于这一点还是需要了解的. 具体一加手机获取root权限的 ...

  6. 苹果开源代码中惊现“wechat”,老外注释的吐槽亮了!

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 每个科技大厂的开源项目,几乎都是各领域开发者最重要的研究学习 ...

  7. 1470篇!CVPR2020结果出炉(附13篇论文链接/开源代码/解读)

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:极市平台 编辑:Amusi(CVer) 今天,计算机视觉 ...

  8. 激光雷达和相机联合标定之开源代码和软件汇总(2004-2021)

    作者丨十点雨@知乎 来源丨https://zhuanlan.zhihu.com/p/404762012 编辑丨3D视觉工坊 LiDAR Camera Calibration (LCC)系列,主要介绍激 ...

  9. “我为什么反对AI论文强制开源代码”

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI AI论文,到底该不该强制开源代码? NeurIPS 2020官方近日发布了一份开源指南.从2019开始,NeurIPS就"强烈建 ...

最新文章

  1. 51单片机模块化编程初识
  2. 【SeeMusic】购买付费版本 ( 进入购买页面 | 购买流程 )
  3. xcode7 没有Empty Application
  4. oracle解析儒略日,利用to_char获取当前日期准确的周数!
  5. windbg 常用查看锁以及互斥量
  6. JSON在android中应用
  7. 关于win10 使用eclipse如何配置环境变量
  8. filepath直接指定到文件名吗_按照txt中指定的文件名,从src_path中拷贝文件到dest_path(copyfile_from_txt)...
  9. 北京新东方全部托福资料
  10. 校友会2020计算机专业排名,校友会2020中国一流专业排名1200强公布,北大位列第一...
  11. s3cmd 安装使用指南
  12. 如何通过回测报告中的指标评估策略优劣?
  13. 2019最值得关注的科技趋势【附罗振宇跨年演讲视频】
  14. 全国首款二级分销小程序上线
  15. html都有哪些事件,HTML有哪些事件属性?
  16. 【兴趣】无需电和油的水锤泵的抽水方式
  17. 2021.8.27夏令营阶段测试总结
  18. CRUX OCR:腾讯云分析永久开放免费OCR服务
  19. unity3D第一人称射击游戏(推荐)
  20. tigerGraph 实践

热门文章

  1. Altium Designer 初学笔记
  2. 【内核链表】数据结构——深入理解内核链表的概念和操作笔记
  3. 软件开发中 前台、中台、后台英文_你应该知道的“中台”相关知识
  4. Linux内核 实践二
  5. matlab绘制渐变色单柱状图
  6. app inventor我的漫画书
  7. SDNUOJ.1105.椭圆(记得避坑)
  8. 如何辨别一个程序员水平的高低?
  9. 运行torchAudio下的wav2vec2.0样例
  10. 产品经理书籍《启示录》