娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

Ubuntu 16.04下8051單片機開發環境搭建

發布者:平穩心緒最新更新時間:2024-07-23 來源: cnblogs關鍵字:Ubuntu  單片機  開發環境 手機看文章 掃描二維碼
隨時隨地手機看文章

工作需求,準備學習單片機,加上以后準備學習嵌入式Linux,而且最近煩透了Win10的自動更新,遂放棄Windows環境,準備在Linux環境下從51單片機開始折騰起,學單片機和Linux兩不誤。本人是單片機和Linux系統雙料新手,學習過程中碰壁不斷,遂將過程做一下筆記,也分享到網上,高手見笑,新手且看,希望能幫到一些朋友。


系統:Ubuntu 16.04 LTS amd64


單片機:某寶¥149開發板,芯片STC90C51,板子自帶USB轉串口芯片CH340G。Ubuntu好像自帶了這個的驅動,不用另裝驅動了。


本來想折騰mcu8051ide的,但是apt-get安裝和手動一個個安裝依賴庫再編譯主程序安裝兩種方式的都運行閃退,只能用原始的方法了。


需要的軟件:


1. 編輯器: 隨便 vim emacs gedit nano都行


2. 編譯器:sdcc,一個小型的C編譯器


sudo apt-get  install sdcc sdcc-doc


3. ISP下載器:


  a.  stcflash.py,一個單獨的python文件,命令行直接使用。【推薦】


  https://github.com/laborer/stcflash

  b. gSTCISP,一個帶GUI的下載器,SourceForge提供源碼下載,需要編譯安裝。也可以在Ubuntu論壇找到一個編譯好的版本。我自己測試時,燒寫成功率不高,不知道怎么回事,所有不太推薦。

https://sourceforge.net/projects/gstcisp/

 

開發單片機程序簡單步驟:


1.隨便寫個單片機程序,比如main.c。需要注意的是sdcc下的程序與Windows 的Keil下有點區別,目前僅發現兩點:頭文件不一樣和IO口sbit定義不一樣,具體區別自行百度。


#include <8051.h>


void Delayms(unsigned int ms);


void main()

{

    while(1)

    {

        P0=0xfe;

        Delayms(500);

        P0=0x01;

        Delayms(500);

    }

}


void Delayms(unsigned int ms)

{

    unsigned int i, j;

    for(i = ms; i > 0; i--)

        for(j = 110; j > 0; j--);

    return;

}


2. 編譯:調用sdcc編譯并生成bin或hex文件。需要說一下的是,gSTCISP只支持下載bin文件,而stcflash.py能下載bin和hex文件。


生成hex文件:

sdcc main.c && packihx main.ihx > main.hex

生成bin文件:

sdcc main.c && makebin  -p  main.ihx  main.bin


3. 燒寫程序:


  推薦使用stcflash.py,因為我用gSTCIPS十次有九次都下不進去,不知道什么原因。


  stcflash.py是Python語言寫的,需要用到Python的串口模塊,用如下命令安裝。


sudo apt-get install python-serial

  為了方便使用,我把stcflash.py復制到了/usr/bin/下,并添加執行權限,這樣不用每次調用都要輸入文件的保存路徑了。當然應該也可以把stcflash.py的保存路徑加入$PATH變量,我是懶人。


sudo cp stcflash.py /usr/bin/

sudo chmod +x /usr/bin/stcflash.py

  然后檢查USB連接:


  a.  $  lsmod | grep usbserial

    如果輸出有 usbserial,說明系統支持USB轉串口。


  b. 用USB數據線將開發板與電腦連接起來,運行


    $ ls /dev/ttyUSB*


    如果輸出有/dev/ttyUSB0或1等等,說明系統已正確識別該USB轉串口設備。


    也可以用“#lsusb”命令查看是否有“USB-Serial adapter”類似的設備。


  c. 設置串口為ttyUSB0(可以不做,在下載時手動指定--port):


    $ dmesg | grep ttyUSB0


  d. 關閉開發板電源,運行stcflash.py燒寫程序,當出現如下字樣時,打開開發板電源,即開始下載:


$ sudo stcflash.py main.bin --port /dev/ttyUSB0 --lowbaud 1200

Connect to /dev/ttyUSB1 at baudrate 1200

Detecting target... 


下載完成為這樣:


$ sudo stcflash.py main.bin --port /dev/ttyUSB0 --lowbaud 1200

Connect to /dev/ttyUSB1 at baudrate 1200

Detecting target... done

FOSC: 12.013MHz

Model: STC90C516RD+ (ver4.3C) 

ROM: 64KB

[X] Reset stops watchdog

[X] Internal XRAM

[X] Normal ALE pin

[X] Full gain oscillator

[X] Not erase data EEPROM

[X] Download regardless of P1

[X] 12T mode

Baudrate: 38400

Erasing target... done

Size of the binary: 158

Programming: #################### done

Setting options... done

stcflash.py默認port為/dev/ttyUSB0,波特率為2400,所以當使用ttyUSB0時,也可以直接運行'$sudo stcflash.py main.bin',不用手動指定端口和波特率。


完。


關鍵字:Ubuntu  單片機  開發環境 引用地址:Ubuntu 16.04下8051單片機開發環境搭建

上一篇:基于單片機的FM收音機設計
下一篇:基于STC12系列單片機的通用紅外遙控信號分析程序(一)

推薦閱讀最新更新時間:2025-06-07 23:38

01 ubuntu20.04 2440環境搭建
1 arm-linux-gcc安裝: # 1 解壓arm-linux-gcc sudo tar -jxf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 # 2 重命名安裝包為arm sudo mv gcc-3.4.5-glibc-2.3.6 arm # 3 移動到/usr/local/路徑 sudo mv arm /usr/local/ # 4 打開.bashrc文件,添加環境變量 sudo gedit /etc/bash.bashrc # 在最后一行加入路徑 export PATH=$PATH:/usr/local/arm/bin # 5 重啟 重啟完成后,使用命令 rm-linux-gcc -
[單片機]
【GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(2)使用 IAR 開發 GD32
IAR版本眾多,版本之間的兼容性并不好,如果初次使用建議安裝7.3以上的版本,安裝好IAR以后再根據該文檔來添加GD的器件型號,進行相關的debug工作。 2.1 在IAR中添加GD32 MCU Device 2.1.1 從官網上下載相應的GD32系列插件。 下面以GD32F30x系列為例,下載插件IAR_GD32F30x_ADDON.1.0.0.exe: 2.1.2 運行IAR_GD32F30x_ADDON.1.0.0.exe,單擊start開始安裝插件。 2.1.3 安裝成功后單擊Finish,結束插件安裝。 2.2 在IAR中編譯調試GD32 在上一小節中我們已經添加了GD32F30x系列的插件,這一小節我們介紹
[單片機]
【GD32 <font color='red'>MCU</font> 入門教程】一、GD32 <font color='red'>MCU</font> <font color='red'>開發環境</font>搭建(2)使用 IAR 開發 GD32
51內核8位單片機MAX7651的開發環境
摘要:介紹一種基于四時鐘周期、高速8051內核的混合信號8位單片機MAX7651。探討在開發基于MAX7651的應用系統時所面臨的問題,并推薦相應的解決方案。 關鍵詞:MAX7651 AT89LV55 8XC51RA/RB/RC ALL-07 Flash 四時鐘周期 在全球8位單片機領域,英特爾(Intel)生產的MCS-51系列是毋庸質疑的領導者。借助英特爾廣泛的授權行為,基于8051內核的8位單片機兼容產品早已根深葉茂。Dallas Semiconductor通過改良、優化傳統的8051內核,開發出了高速、四時鐘周期和單時鐘周期8051內核,并在此基礎上推出了一系列高速8位單片機。Maxim利用高速、四時鐘周期8051內
[應用]
關于8051單片機基礎結構解析與工作原理及電路結構
單片機的基本結構包括中央處理器(CPU) 、存儲器、定時/計數器、輸入輸出接口、中斷控制系統和時鐘電路六部分。 一、基本組成 中央處理器(CPU) 包括運算器和控制器兩部分,是單片機的核心。運算器可用于各種運算,控制器用于控制單片機各部分協調工作。 存儲器 用于存放程序和原始數據。 時鐘電路 時鐘電路產生單片機運行的控制信號,控制單片機嚴格按時序執行指令。 定時/計數器:實現定時或計數功能。 輸入輸出接口(I/O)實現單片與其他設備之間的數據傳送。 中斷控制系統: 用于響應中斷源的中斷請求; 二、單片機引腳雙列直插式封裝(DIP,Dual Inline Package) 方形封裝(PLCC,Plastic
[單片機]
關于<font color='red'>8051</font><font color='red'>單片機</font>基礎結構解析與工作原理及電路結構
8051單片機基礎5:數據類型占用空間大小及取值范圍
參考資料: Keil Help uVision Help Cx51 Compiler User’s Guide Language Extensions Data Types Keil Help uVision Help Arm Compiler 5 User’s Guides Compiler User Guide C and C++ Implementation Details C語言中使用變量時需要先定義數據類型,定義數據類型后,編譯器自動分配適當的存儲空間。比如定義unsigned char型變量,分配1個字節的存儲空間。 在不同MCU平臺使用C語言編寫代碼時,需要注意基本數據類型占用字節數,比如
[單片機]
<font color='red'>8051</font><font color='red'>單片機</font>基礎5:數據類型占用空間大小及取值范圍
單片機C8051f064在電力監控儀中抗干擾設計
單片機c8051f064是cygnal(現為SILIConlab)公司在2000年左右推出的新型單片機,具有運行速度快,與8051指令系統兼容的優點,剛一推出就受到國內廣大8031使用者的歡迎,紛紛學習使用,并有一定的商業應用,但在具體的使用中也發現了很多問題,抗干擾能力便是其中之一。下面我將在文章中詳細討論。先說明一下我的系統。 在本設計中系統構成為:1.電力監控儀---負責采集三項交流電的電壓、電流,LCD顯示,包括鍵盤操作,數據記錄等功能,并根據電壓、電流的變化控制執行機構調節電網的電壓、電流,從而達到節電的功能,并具有modbus聯網遠傳數據的能力。2.上位機數據庫系統----檢測并記錄個終端的狀態和電量數據。
[單片機]
8051單片機存儲器的組織結構是怎樣的?
8051存儲器包括程序存儲器和數據存儲器,從邏輯結構上看,可以分為三個不同的空間: (1)64KB的程序存儲器地址空間:0000H~FFFFH,其中0000H~0FFFH為片內4KB的ROM地址空間,1000H~FFFFH為外部ROM地址空間; (2)256B的內部數據存儲器地址空間,00H~FFH,分為兩大部分,其中00H~7FH(共128B單元)為內部靜態RAM的地址空間,80H~FFH為特殊功能寄存器的地址空間,21個特殊功能寄存器離散地分布在這個區域; (3)64KB的外部數據存儲器地址空間:0000H~FFFFH,包括擴展I/O地址空間。
[單片機]
8051單片機的PSW寄存器各位標志有什么功能意義?
程序狀態字PSW是8位寄存器,用于存放程序運行的狀態信息,PSW中各位狀態通常是在指令執行的過程中自動形成的,但也可以由用戶根據需要采用傳送指令加以改變。各個標志位的意義如下: PSW.7(Cy):進位標志位。 PSW.6(AC):輔助進位標志位,又稱為半進位標志位。 PSW.5(F0):用戶標志位。 PSW.4、PSW.3(RS1和 RS0):寄存器組選擇位。 PSW.2(OV):溢出標志位。 PSW.1(空缺位):此位未定義。 PSW.0(P):奇偶校驗位
[單片機]
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 商河县| 太和县| 东光县| 高邮市| 西吉县| 扎鲁特旗| 会理县| 双牌县| 吉安市| 磐石市| 大英县| 武安市| 即墨市| 吉首市| 水城县| 莫力| 高清| 隆子县| 西青区| 云和县| 田东县| 新沂市| 忻城县| 资源县| 青海省| 通州市| 临汾市| 锦州市| 泗洪县| 承德县| 正宁县| 甘孜| 偏关县| 敦化市| 孝感市| 西昌市| 华坪县| 贞丰县| 岑巩县| 万载县| 赤峰市|