白姐透特今晚开什么码

打印

[程序源码]普通32位单片机使用linux的应用代码

[复制链接]
216|4
跳转到指定楼层
楼主
本帖最后由 vsfopen 于 2019-12-21 03:56 编辑

当然,这里的普通单片机,还是需要一定的资源的,flash至少32K,RAM的话看应用以及堆栈大小的设置。而且,这里的实现并不是跑完整的linux,而是做了一个linux的子系统,可以编译一些linux的应用代码,理论上各种应用代码都可以,只是缺什么库就需要补什么库。

MCU里使用linux的应用也只是一些特殊场合,之前做这个,也仅仅是因为客户需要移植一个十几万行代码的3个linux应用到MCU里,所以只能用这个方法来实现了。


上代码:
http://github.com/vsfteam/vsf/tree/master/source/vsf/shell/sys/linux

工程:
http://github.com/vsfteam/vsf/tree/master/source/example/project/iar_8.4
vsf_template.eww,选择linux_m484配置
http://github.com/vsfteam/vsf/tree/master/source/example/project/vc
vsf_template.sln,选择vsf_linux_win

截图:

这个demo里,有VSF的内核、文件系统、USB主机和从机协议栈,linux子系统(自己实现的shell和一些命令,以及libusb),应用层的lsusb代码
IAR最高size优化下(不选择多文件编译),编译结果为33K代码占用(vsnprintf就包含了好几K)

相关资料

沙发
 楼主|2019-12-20 14:10|只看该作者
实际一些应用的测试:http://raw.githubusercontent.com/mevdschee/2048.c/master/2048.c

这个是一个简单的命令行2048游戏,运行效果:


除了一些特殊字符显示不正常外,其他功能都OK,当然,这个也只是比较简单的linux应用
板凳
 楼主|2019-12-20 14:36|只看该作者
本帖最后由 vsfopen 于 2019-12-20 19:43 编辑


libuvc 摄像头驱动,稍微改了一下libuvc的代码,不过也是很简单就可以在VSF的linux子系统里运行。
这里为了方便开发调试,直接使用了VC运行PC端的VSF环境,代码和MCU端基本一样,只是USB的HCD使用winusb而已。

由于目前还没去实现同步EP,所以libuvc也就只能读取和解析摄像头的参数。

地板
|2019-12-20 16:06|只看该作者
楼主厉害
5
|2019-12-20 16:30|只看该作者
开源项目,顶起
扫描二维码,随时随地手机跟帖

本版积分规则

我要发帖投诉建议创建版块

快速回复

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

论坛热帖

关闭

热门推荐上一条 /6 下一条

在线客服 快速回复 返回顶部返回列表