BeagleBone Black开发板的进阶教程
        命令行操作 安装实时内核
        xukejing
        发布时间: 2019-05-03
        阅读: 3837

        今天我们来聊聊一款非常有名的开源的嵌入式Linux开发板——BeagleBoneBlack(简称BBB)。


        product_detail_black_sm.jpg

           

        这款板子基于TiAM3358处理器芯片,单核的ARM Cortex A8核心,主频1GHz。比较有趣的是,为了更好地面向工业应用,AM3358芯片还带有两个32位的ARM Cortex M4 PRU微控制核心(MCU)。

        板子的?#35797;?#36319;现在最主流的开发板(如友善之臂T4)相比,略微?#34892;?#20302;,只有512MB DDR3内存,和4GB eMMC闪存。

           

        BBB的?#20302;?#38236;像可以去BeagleBone官网?#30053;?#21040;。另外,你也可以在BeagleBone官网上?#19994;?/span>BBB的入门教程。BBB是支持网页编程的,在浏览器输入BBBIP地址就可以跟着WEB界面上的提示一步步实验各种功能。比如,我们来玩一下获取?#25945;?#20449;息的代码,如下图所示。


        网页编程.JPG

           

        ?#27604;唬?#26412;人今天要给大家带了的不是这种WEB端图?#20301;?#30340;入门教程,而是更接近常规嵌入式linux操作的命令行教程。

        下面要进入正题啦!

        在工业应用里,很多时候都需要实时linux内核来减小延时。我将演示一?#30053;?#26679;用命令行给BBB装上实时linux内核,很荣幸能与大家分享这些知识。

          

        我们打开电脑端软件Putty,用ssh以命令行方式远程登录BBB,初始用户名是debian,密码temppwd。登进去以后,你可以用uname命令查看一下linux?#20302;?#30340;内核版本。我们这个?#20302;?#26159;3.14.71版本。操作过程如下图所示。


        1第一次登陆查看内核版本.JPG

           

        然后,用passwdsudo passwd分别更新debianroot用户的密码。另外,root用户默认不允许直接通过ssh服务登录,我们通过编辑下面这个文档把权限给打开,文档路径、名称和要改的句子都如下图所示。


        4允许远程登录.JPG

           

        前面已经提到过,BBB是面向工业应用的。所以,为了提高控制的实时性,它肯定会支持Linxu实时内核。实时内核不需要你自己编译,apt的源里已经给你提供了,截图如下,已经用红线标出了。


         2bbb的内核源.JPG

          

        板子开机后先要做什么呢?更新软件?我们在更新软件前先要把安装源更新一下。命令是apt update,过程如下图所示。



        3更新安装源.JPG

           

        上面那一步,我发现更新速度?#34892;?#24930;。

        怎么呢办??#36824;?#20869;源呀!

        但是国内源也有好几个呢,换哪个源呢,选择恐惧症了吧。

           

        我有个小建议,ping一下看谁快。中科大的源,刚?#25214;?#20026;服务器重启,没有ping通,平时正常应该在45毫秒左右。清华的源的速度还可以,我们就选下图?#24515;?#31532;2个清华的源吧。



        5ping一下看看哪个源快.JPG

           

        要注意一下的是,清华的源是https的。所以我们先装个apt-transport-https包,让apt支持https,如下图所示。这一?#36739;?#19981;要改源,用默认的源安装。



         6清华源需要https 安装.JPG

          

        前面已经配置了root登录,用service ssh restart重启一下sshd服务就可以支持root用户直接登录了。接下来,可以把源改成清华的了。下图中使用的软件是winscp



         7 把源改成清华.JPG

           

        再更新一次安装源。换了清华的源以后,这次速度快很多了,如下图所示,最后只用了12秒。



         8再更新一次安装源.JPG

          

        下面可以更新已安装的软件包了,期间会提示?#34892;?#29256;本的sshd_config文件问你是否覆盖,选择保留老版本文件就好,不然还得再改一次允许root登录。



         9更新已安装软件包.JPG

          

        安装常用软件,各种需要的软件的名字可以写进一个apt install命令里,如下图所示。我装的主要是git和各种编程软件。你可以根据需要再添加cmakeautomake等软件。



         10安装常用编程软件.JPG

          

        pythonsetuptoolspip更新一下先,我知道很多人都?#19981;?#29992;Python语音开发。



         11装一下python工具.JPG

          

        我用sudo pip install future安装future库没有成功,所以用apt-get install python-future命令安装future库。



         12装future.JPG

          

        opt目录里的?#20302;?#33050;本更新一下,这里面有很多为BBB?#21487;?#23450;制的功能,比如扩展?#20302;?#20998;区,还有更新内核。我们下一步要更新实时内核。



         13把脚本更新一下.JPG

             

        通过uname -a命令,我们已经知道我们的?#20302;?#30340;原内核是4,14版本的,所以我们这次更新4.14的实时内核,命令这样写

        sudo /opt/scripts/tools/update_kernel.sh --bone-rt-kernel --lts-4_14  截图如下:

         


        14更新实时内核.JPG

          

        工业应用里有一种应用叫空中机器人,或者?#24418;?#20154;驾驶飞行器(UAV)。

        BBB就有一个开源的做飞控的例子,通过一个叫BBBmini的扩展板接入惯导传感器,然后就可以作为飞控控制板了。下面这个小四旋翼的图片我引用了BBBmini项目里的图片。



         bbbminipcbquad.png

          

        飞控软件上,也有一个开源的项目,叫Ardupilot,Ardupilot程序的二进制文件在BBB官网镜像里也有,你能从如下图目录里?#19994;健#?#34429;?#35805;?#26412;?#34892;?#20302;。)



         官?#36739;低?#37324;就有ardupilot.JPG

          

        BBBmini的硬件是开源的,所以它的PCB文件可?#28304;觛ithub上?#30053;?#21040;。我已经把BBBmini的PCB交给工厂打板了,过几天就会到。



         pcb.JPG

          

        我们把BBBminidtbADC添加到bootuEnv文件里,ADC将用于飞行器的动力电池的电压和电流的采集。



        15添加dtb.JPG

          

        CPU频率一直跑在1GHz,这可以让软件跑得更流畅。



         16锁定1GHz.JPG

          

        ArdupilotBBBmini程序,可以交叉编译,也可以BBB上本地编译。我选择了交叉编译,速度很快的。

        下图是我在虚拟机里交叉编译了Ardupilot的程序。



         虚拟机里编译ardupilot.JPG

          

        好了,今天只教BBB的命令行操作;Ardupilot飞控代码的编译环境搭建和代码设置,属于另一篇教程了,我以后会专门再为Ardupilot写一篇文章。


        原创作品,未经权利人授权禁止转载。详情见转载须知 举报文章

        展开查看更多
        点赞 (3)
        打赏
        当前打赏1人    
        xukejing 擅长:其他应用
        相关文章推荐
        X
        你的打赏?#23884;?#21407;创作者最大的认可
        请选择打赏IC币的数量,一经提交无法退回 !
        100IC币
        500IC币
        1000IC币
        ?#36828;?#20041;
        IC币
        确定
        X
        提交成功 ! 谢谢您的支持
        返回

        我要举报该内容理由

        ×
        请输入您举报的理由(50字以内)
        广西11选5走势图开奖结果

                    雷鸟游戏 星光之吻免费试玩 西甲皇马对赫罗纳 和平精英灵敏度 巴萨4比4比利亚雷亚尔集锦 柔佛dt主场在哪里 辽宁快乐12走势图遗漏 今天江苏快3开奖结果 守财奴课文分段 三国杀百度版 风暴魔域跑商双倍时间 德国斯图加特芭蕾舞团 福建11选5开奖记录 北京赛车pk10规矩 梦幻看戏四灵印攻略 福彩时时乐走势图