有點不是很清晰
1.

2.

需要補足的技能:
- shell指令--> Makefile -->shell自動化
- rootfs (buildroot)
- 添加開源app或者軟件
- 添加本地文件make工程
- uboot
-
驅動和應用開發

- linux系統框架(字符類設備 platform_driver 與設備樹 platform_device),模塊初始化到匹配device,到注冊設備,生成節點過程
- 熟悉接口api(子系統)和一些接口協議注意事項,需要了解諸如 mmap ,ioremap ,copy_from_user,copy_to_user之類的函數,部分需要學習設置比如ltdc設置寄存器
- 硬件驅動和操作原理,閱讀傳感器datasheet
- dmesg /proc,查看調用情況等等,發送測試指令打印數據等等
這是主要的,我主要想學的
底下的,哎不知道怎么說

- 可能需要移植一些庫(需要學會看英文手冊,看清readme的結構,比如做法等等),支持一些功能,比如支持http的庫,當然也可以一開始就加進去
- GUI,比如lvgl,對于不怎么緊急的定時事件,可以用lvgl自帶的定時器,而不是操作系統的軟件定時器(RTOS)
- 線程同步,線程通信,專業的知識,算法等等,業務處理邏輯

學習建議:
(主要的)驅動
跟教程走一遍,驅動大全更新蠻多了,極簡的 --> 多寫個sensor驅動,屏幕或者usb設備 --> 不同平臺的
關于后續的調試和實際的功能開發:可以看 1.網上的情景處理代碼 2. 閱讀內核別人寫的接口驅動以及處理(利用source insight)3.搞一個模板,保存打磨 ,記錄問題
調試:1.dmesg 查看情況,比如資源獲取失敗 2.通過/proc 查看 io資源 ,中斷 等等然后去看設備樹和驅動3.測試指令
環境配置:
學習shell,知道意思,知道編譯過程,配置工具,有GPT就行,uboot編譯 buildroot走一遍就行,定制系統走一遍
應用開發:
沒啥特別的思路,寫就行,ai提供優化思路或者自己試,抄也行,看別人的代碼,做完,或者遇到問題,多留一些“好模塊”的代碼模板
主要想干驅動,配置板子,之后想學習ai的一些東西,就是模型部署,一步一步慢慢爬,從抄別人的再到自己的,再慢慢學點算法,再落實把。
立個貼,我將完成這些,并輸出文檔
最近手里拿了一塊RK3576(學習安卓或者其他,比如游戲,模型),還有一塊 stm32mp157當時配套買的只學驅動的,想想決定用其中一塊自己來做全部的配置,當然其中我會夯實驅動,多買幾塊屏(雖然現在沒工作也沒錢),驅動多幾個sensor,學習知識。沒錢買屏幕,wifi模塊,買散熱。
