zoukankan      html  css  js  c++  java
  • ROC-RK3308-CC开发实例总结--GPRS模块调试

    ROC-RK3308-CC这款板子致力于打造AIoT物联网应用平台,今天楼主用手边的gprs通讯模块在这款板子上做了个小功能,随手分享一波!
    gprs模块要用到串口通信,参考官网的开发文档,板子有两组uart可用,其中一组被用去做调试串口,所以我要用到另外一组,所以需要我们去到kernel/arch/arm64/boot/dts/rockchip/rk3308.dtsi 这个文件,将uart1的status改成"okay",如下所示:

            uart1: serial@ff0b0000 {
                compatible = "rockchip,rk3308-uart", "snps,dw-apb-uart";
                reg = <0x0 0xff0b0000 0x0 0x100>;
                interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
                clock-names = "baudclk", "apb_pclk";
                reg-shift = <2>;
                reg-io-width = <4>;
                dmas = <&dmac0 6>, <&dmac0 7>;
                dma-names = "tx", "rx";
                pinctrl-names = "default";
                pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
                status = "okay";
            };
    

      改好之后如果想测试一下这组串口能不能使用,可以先找根杜邦线把板子上的u1tx和u1rx短接,然后通过终端命令让他们自发自收,如果可以,那就证明这组串口可用了。具体操作如下:

    # cat /dev/ttyS1 &
    #
    # echo test > /dev/ttyS1
    # test
    

      做好这些之后,我写了一份demo测试代码,编译完成后烧入到板子里面,连接好硬件,运行,发现板子在运行pppd拨号上网的时候,报错

    所以我们需要重新配置内核,把ppp_generic 这个功能模块编译到内核里面。在sdk根目录下,cd kernel/,然后执行命令make menuconfig,会进入如下内核配置图形界面:

     如图把ppp相关选项选上,然后保存,重新编译内核之后,重新烧录,再次运行demo

    拨号成功,然后再试一试短信发送:

    短信发送成功!

    进入Firefly开发者社区,可下载GPRS demo

  • 相关阅读:
    关于data初始化值
    switch的优化替代写法
    phpstorm安装xdebug
    如何将一个列表封装为一个树形结构
    Win10系统桌面图标距离间距变大的问题
    cnpm无法加载文件的问题
    0、springboot
    1、springboot2新建web项目
    Game游戏分析
    netty学习
  • 原文地址:https://www.cnblogs.com/TeeFirefly/p/10194536.html
Copyright © 2011-2022 走看看