有點不是很清晰

1.

image

 2.

image

需要補足的技能:

  • shell指令--> Makefile -->shell自動化
  • rootfs (buildroot)
    • 添加開源app或者軟件
    • 添加本地文件make工程
  • uboot 
    • image

驅動和應用開發

image

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

這是主要的,我主要想學的

底下的,哎不知道怎么說

image

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

image

 

學習建議:

(主要的)驅動

跟教程走一遍,驅動大全更新蠻多了,極簡的 --> 多寫個sensor驅動,屏幕或者usb設備 --> 不同平臺的

關于后續的調試和實際的功能開發:可以看  1.網上的情景處理代碼 2. 閱讀內核別人寫的接口驅動以及處理(利用source insight)3.搞一個模板,保存打磨 ,記錄問題

調試:1.dmesg 查看情況,比如資源獲取失敗 2.通過/proc 查看 io資源 ,中斷 等等然后去看設備樹和驅動3.測試指令

環境配置:

學習shell,知道意思,知道編譯過程,配置工具,有GPT就行,uboot編譯 buildroot走一遍就行,定制系統走一遍

應用開發:

沒啥特別的思路,寫就行,ai提供優化思路或者自己試,抄也行,看別人的代碼,做完,或者遇到問題,多留一些“好模塊”的代碼模板

 

 

主要想干驅動,配置板子,之后想學習ai的一些東西,就是模型部署,一步一步慢慢爬,從抄別人的再到自己的,再慢慢學點算法,再落實把。

 

立個貼,我將完成這些,并輸出文檔

最近手里拿了一塊RK3576(學習安卓或者其他,比如游戲,模型),還有一塊 stm32mp157當時配套買的只學驅動的,想想決定用其中一塊自己來做全部的配置,當然其中我會夯實驅動,多買幾塊屏(雖然現在沒工作也沒錢),驅動多幾個sensor,學習知識。沒錢買屏幕,wifi模塊,買散熱。

 

5af73ed3f2e0a25249839c853ea85a24_720