可以的,程序設計和電路設計都沒問題和程序調試都沒問題。
只是如果用的是一些小廠的單片機晶元,可能沒有linux下的晶元燒寫程序。
B. linux與單片機的關系linux與單片機
LinuxSTM32ARM三者到底什麼關系呀要先學哪個?
linux是操作系統可以移植到arm上去stm32是意法半導體的單片機有armcortexm3、m4架構的單片機建議先學32其實可以同時學的
我用手機藍牙控制單片機,誰是主機誰是從機?
一個做主機一個做從機就可以實現通信,電腦和手機的藍牙一般是主機,也就是說配對一個從機就能實現通信,你再買一個從機藍牙模塊來就可以用了,不過我感覺你說的這個功能實現起來難點很多,因為看似簡單的的配對涉及到很多問題,主要是軟體上,手機端需要寫驅動及應用程序,這個就需要你對嵌入式ARM及linux相當熟悉,不過有可能類似的程序能下載到,你可以試試,再者單片機你需要寫通信協議藍牙模塊才能工作,還需進行收到數據的控制信號10口輸出,還需要信號放大,如果做PWM輸出,就需要H橋。從理論上來說樓主的功能可以實現,但是前提是你很熟悉單片機編程和armlinux,而且電路知識也必須熟悉。從樓主的提問來看我不認為你是一個電子方面的專業人士,所以你真想做就需要毅力了,光買點零件回來是不夠的
如何在單片機裝Linux系統?
按道理來說有這幾年經驗,應該已經熟悉了幾款單片機,像stm系列或者ti的,這樣應該對soc的體系結構比較了解,一般單片機是在Windows下開發,熟悉一些匯流排,熟悉一系列業務演算法,可以以此為基礎。
1.首先需要補充os方面的知識,現代操作系統,看一看,線程,進程,內存管理,文件系統,網路。
2.開發系統逐步使用Ubuntu或者其他linux發行版,熟悉linux的基本操作,腳本,交叉編譯
3.看深入理解linux內核,lld第三版,熟悉驅動和內核的基本知識,可以重點看自己熟悉外設的驅動,如spi。
4.可以在熟悉的單片機上移植一個os,不一定是linux,如果是stm32可以移植freertos,這個網上很多資料,然後結合資源可以移植linux。
5.可以買一個樹莓派,移植linux也是很方便的,可自己添加驅動,寫應用,linux環境高級編程,也可以看看。
這樣就你就會理解了,也不會陷入一個os。
當然最簡單有效的方式是直接找一份linux相關的工作,在工作中學習,這又是雞和蛋的問題。
stm32系列單片機區別?
1、內核:51單片機採用的是51Core,8Bit@2MHzMax(分頻後),0.06DMIPS;STM32採用的是ARMCortex-M3,32Bit@72MHz,1.25DMIPS
2、地址空間:51單片機只有64KB;STM32有4GB
3、片上儲存器:51單片機ROM只有2K-64K,RAM僅為128B-1K;STM32的ROM為20K-1MB,RAM有8K-256K
4、外設:51單片機僅有三個定時器和一個串口;STM32卻擁有AD,DA,Timer,WWDG,IWDG,CRC,DMA,IIC,SPI,USART等眾多外設
5、開發工具:51單片機採用的是早期的UV2;而STM32使用的是UV4,甚至更高
6、操作系統:51單片機連RTOS都很難能跑;STM32採用的是uClinux,uC/OS
C. linux下對單片機編程
有,不過是命令的 如果你燒51的話建議用usbasp,linux下有驅動 ,不過只可以燒51s,如果是51c好像不行, 還有就是編譯器,我記得好像gcc可以不過好多東西要自己設置