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
2. 關於單片機,DSP,ARM,嵌入式,Linux,EDA
首先單片機,DSP,ARM都算是微型計算機吧,都是嵌入式系統的核心,其中低端一點的處理器就是單片機了,高端一點的就是ARM(為處理器,很多款諾基亞就是用的ARM11晶元)。DSP(數字處理器),速度相當快。
LINUX就是一種的嵌入式系統中很流行的開放的操作系統,可以移植在微型計算機當中,實現實時控制,
嵌入式分軟硬,軟一點就是操作系統方面,底冊、層驅動程序方面吧,比如Linux等等。。硬一點就是以單片機,DSP,ARM為核心處理器和外圍的一些數字模擬電路吧。。
EDA是一系列電子設計自動化軟體。
如果你要做這些方面的話,每一個都不是簡單的,需要循序漸進,建議如果有數電,模電等電路知識後可以從簡單一點的單片機開始,然後學ARM會容易一些,這些也算是嵌入式系統范疇了,只是做的是嵌入式的硬體方面。
我也是學生,全是個人查資料的一些理解,如有不實,請諒解。
3. Linux 上搭建 51 單片機開發環境
在 Linux 系統上搭建 51 單片機開發環境,本文提供了一種方法,即使用 Flatpak 版 Q4Wine 與 Keil 作為開發工具。
首先,安裝 Flatpak,通常在大多數 Linux 發行版中只需安裝名為 flatpak 的包即可。以 openSUSE 為例,添加軟體源後,安裝 Q4Wine。Q4Wine 是一個允許在 Linux 系統上運行 Windows 應用程序的平台,其主要優勢在於可以提供發行版兼容性,適合於 openSUSE、Fedora、Arch、Ubuntu、Debian 等。
配置 Q4Wine 時,需要創建一個新的前綴,命名為「C51」。架構選擇 win32,因為 Keil4、Keil5 和 STC-ISP 都是 32 位程序。路徑等默認設置即可,前綴保存位置在 ~/.var/app/ua.org.brezblock.q4wine/data/wineprefixes/。
接著,通過 Q4Wine 運行 Keil5 安裝包,安裝過程中選擇同意許可協議,一路確認完成。對於安裝時需要填寫的郵箱和公司信息,只要郵箱格式正確即可,內容隨意填寫。
安裝 STC-ISP 時,考慮到它依賴於 mfc42.dll 運行庫,可以通過 Q4Wine 的設置選項卡使用 Winetricks 安裝此庫。另一種方法是直接復制 mfc42.dll 到 STC-ISP 目錄,並將整個文件夾復制到 Q4Wine 的前綴中。
為了便於訪問,需要在 Q4Wine 中添加圖標。右鍵空白處選擇新建圖標,選擇「drive_c/Keil{_v5}/UV4/UV4.exe」作為圖標路徑。
設置全局等寬字體可以提升界面的可讀性,因為 Wine 環境默認字體可能不適用等寬字形。通過修改注冊表文件,指定自定義字體文件,如 wqy-zenhei-mono.ttf,並將其復制到 drive_c/windows/Fonts/ 目錄,然後使用 Q4Wine 的注冊表編輯器導入注冊表文件。
總結,通過 Flatpak 版 Q4Wine 與 Keil 的結合,可以在 Linux 上搭建一個完整的 51 單片機開發環境,實現跨平台開發,提升開發效率。同時,通過全局等寬字體的設置,可以進一步優化開發界面的觀感。