LVGL应用和部署(个人开发嵌入式linux产品)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

随着经济越来越走向常态化发展,将来的公司基本是两个趋势,一个是公司越做越大,越来越趋向于垄断;另外一方面,公司越做越小,可能2-3个人就能开公司、做产品、搞营销。就拿linux来说,从前的linux soc开发可能很复杂,将来不管是芯片公司,还是硬件设计,其实一个人,多一点,1-2个人肯定是可以开发产品的。

1、选择集成化程度高的soc

大部分soc都是运行linux,在这个基础之上跑ubuntu,或者是android。不过如果人数不多,可以选择集成化程度高的、可以定制image的、价格合适的soc,比如内置ddr的soc。一方面门槛低,另外一方面比较好上手,能做的东西多。

相比较mcu,soc生态丰富,cpu频率高,特别是音视频和网络,优势明显。

2、购买板子

本着先软件,后硬件的原则,一开始的时候不要自己做板子。买市场上相同soc的板子,如果没有,买类似的板子即可。起初一定要降低难度,先迈出第一步再说。

3、安装好交叉编译环境

我们自己的电脑一般是跑windows系统的,开发的时候通常需要交叉编译环境。这个时候要学会用virtualbox安装交叉编译环境。编译uboot、编译kernel、编译rootfs,生成image之后,再用厂家提供的上位机软件烧录进去,这就算完成第一步了。

4、编写第一个程序

第一个程序可以是hello world,可以是qt,根据自己的实际情况来。用交叉编译完成之后,再用tf卡拷贝到板子上,如果跑起来,代表应用层没问题,下面就可以正式进行开发了。

5、驱动用到哪个做哪个

常用的linux驱动其实不复杂,一般就是key、uart、gpadc、pwm、tf、屏幕、网口这些。很多的soc厂家,默认都带了这些驱动。就算屏幕这样的驱动,也是可以根据厂家的demo进行修改的。当然,屏幕本身特殊一点,不仅需要soc厂家的帮助,还需要屏厂的支持。

现在的驱动开发不复杂,主要就是看menuconfig、dts和dmesg,如果实在不行,就去看一下驱动代码即可。厂家有芯片手册提供还好,没有的话,只能自己去慢慢扒了。

6、第三方库添加

常用的第三方库,最好自己会编译,比如boost、opencv、qt、lvgl、xmlrpc、lua等等。不会编译,厂家如果已经提供了对应的sdk,那也是可以的,这样我们就可以直接借助于厂家的sdk进行软件开发,不需要从0到1做起。

7、芯片特殊的sdk内容

很多soc有特殊的sdk,特别是硬件加速部分,这部分一般都是不开源的。不管是底层的ko驱动,还是上层的so、.a库,我们可以参考它们提供的文档和代码,一点一点去坑,最终才能把soc的特色功能挖掘出来,而不是简单的linux编程,这就没意思了。

8、重点放在核心应用上

不管是硬件也好,软件也好,本身都是为产品服务的。硬件是平台,软件是实施手段,产品才是最终目的。多去看看市场上什么产品卖的好,自己能不能做。如果能做,应该怎么做,怎么推广。一开始不用想那么多,一步一步去实现,就会慢慢发现自己其实路走了很远。

以应用为出发点,硬件、驱动、第三方库都是随时可以修改的。

9、先实现再优化

开发的时候,用git把代码管起来。很多功能,先实现,再优化和测试。**完成比完美更重要,特别是一些常年销量比较高的嵌入式产品,肯定有一些槽点是一直没有解决的,这部分就是个人开发的机会。**技术本身,只是手段,不是目的。

相关推荐
知识分享小能手2 天前
微信小程序入门学习教程,从入门到精通,WXML(WeiXin Markup Language)语法基础(8)
前端·学习·react.js·微信小程序·小程序·vue·个人开发
workflower4 天前
将图片中的图形转换为可编辑的 PPT 图形
java·开发语言·tomcat·powerpoint·个人开发·结对编程
liu****5 天前
负载均衡式的在线OJ项目编写(六)
运维·c++·负载均衡·个人开发
C++chaofan5 天前
项目中为AI添加对话记忆
java·数据结构·人工智能·redis·缓存·个人开发·caffeine
武子康5 天前
AI-调查研究-90-具身智能 机器人数据采集与通信中间件全面解析:ROS/ROS2、LCM 与工业总线对比
人工智能·ai·中间件·机器人·职场发展·个人开发·具身智能
_码力全开_8 天前
Python从入门到实战 (14):工具落地:用 PyInstaller 打包 Python 脚本为可执行文件
开发语言·数据结构·python·个人开发
QQ12958455048 天前
vite是什么
个人开发
liu****8 天前
负载均衡式的在线OJ项目编写(五)
运维·c++·负载均衡·个人开发
liu****9 天前
负载均衡式的在线OJ项目编写(四)
运维·c++·负载均衡·个人开发
古译汉书11 天前
嵌入式铁头山羊STM32-各章节详细笔记-查阅传送门
数据结构·笔记·stm32·单片机·嵌入式硬件·个人开发