你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32MP157A-DK1】基于Linux的项目开发

[复制链接]
北方. 发布时间:2020-4-13 17:12
1、和ARM-M4内核开发使用IDE不同的是,基于Linux开发就更丰富多样了。在Linux搭建了什么平台就可以用什么开发方式。基于C++的开发是最高效和便捷的,基于python,go,andoid的开发也可以,明确有android的系统(把android列进来,因为也是一个linux derivation的衍生平台)2. Linux的开发可以在开发板上直接开发,但是,需要在开发板上建立完整的开发工具平台,如CC,gcc,linaro-gcc等,或者按照完整的python及其依赖包。所以,这些开发工具安装起来并不容易,同时,除了开发,在执行的过程没有什么用处,而且嵌入式系统性能有限,大的开发项目就很慢了。
在嵌入式系统做开发包的典型是树莓派,可以支持anaconda这样的大开发包,当然是一个miniconda。其他的更不在话下,在A7内核上通常不建议。
但是这样的开发有个最大的好处,就是本地开发,所得及所见,没有依赖环境和交叉编译兼容性的问题,因此,也可以算一种方式。
3、更多的是采用host计算机上交叉编译的方式。通常需要用Linux操作系统,对于多数windows系统就要上一个笨重的虚拟机,其实采用双操作系统的更好用。直接在windows系统安装支持交叉编译的编译器也可以,不过,往往需要一个minWG,也不好用。
交叉编译器有2种,linaro-xxx,和arm-xx原生的gcc交叉编译器,需要看准了版本,是否支持ARM-a7系列。
4、然后就,把build好的二进制可执行文件下载到开发板上,就可以运行调试的。对于SD卡,简单粗暴的直接copy就可以,使用网口连接,就要开通ssh,用scp下载。
在使用QT creator的开发,可以直接ping通IP地址,下载,编译运行的工作,一键完成。
5. 连接开发板,最基本的方式就是使用UART协议串口连接,如下图,
522424685.jpg
使用st-link v2端口串口通讯,115200-8-1-N,就可以直接进入控制台
1.JPG
这个控制台的root没有设置密码
这次采用了主机直连以太网口,但是没有联通,开发板没有启动http服务,在演示程序是可以访问的,应该是需要增加一个启动命令,
2.JPG
没有设置ifconfig的IP地址,只有MAC地址,
对于外设,访问是用类似文件访问的方式执行的,对于GPIO,是/sys/class/gpio文件夹下就可以直接操作,进入这个文件夹,却没有启动gpio,对比其他系统,增加了一个leds文件夹。
整体的系统结构还需要进一步探究。
6、对应于系统的build,st的wiki有非常详细的介绍步骤,而且因为有CubeProgrammer等配套工具,这样的方式兼容性好。对于需要自定义硬件的情况,自制系统是必选项。
首先选择源,对于stm32MP1是优选yocto,这个是专门针对嵌入式系统的,注重效率和完整性,入门难度中等,更新速度快,大约1-2个月一次更新。相对更推荐记忆debian的系统,这样的系统和Ubuntu非常接近,很多在Ubuntu上调试通过的包,在debian系统可以很容易通过。尤其对于DL引擎,面向大众的demo都是基于ubuntu16.4.0的。Ubuntu的开放性不那么好,自制img的资源不那么丰富,用debian就有非常多的手册和范例学习。用debootstrap在host计算机上就可以完成,用qemu模拟器结合debootstrap就更方便,这个过程比较耗时间的,而且出现问题解决比较慢,需要加入邮件列表提交问题,不过会遇到开发社区的开发者会亲自回答,并会对代码进行修订。
在随后的测试中,需要逐步把这些步骤测试下。

收藏 评论1 发布时间:2020-4-13 17:12

举报

1个回答
李康1202 回答时间:2020-4-14 09:43:09
赞一个

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版