A. sdcc 編譯器錯誤不能打開
點擊詳細編輯器輸出,查看具體的原因,在伺服器中找到這個文件。
不是叫做:編譯器錯誤,而是應該叫做:編譯錯誤。如果說真的是編譯器內部本身(例如:C語言編譯器、或者是別的各種編程語言的編譯器)出現了bug的話,那麼任何人也沒有辦法。
只有開發編譯器軟體的軟體開發人員才能夠解決這樣的問題;如果是在你的源程序中產生的各種編譯錯誤(例如:語法錯誤、語義錯誤等),那麼你只能夠仔細地檢查、編譯、調試你的源程序了。
B. 求個滿足要求的花樣燈單片機C語言編程。
每個燈都有一個IO口控制的嗎?給你思路可以嗎?
其實直接根據主頻計算出1秒以及通過IO的設置就可以很快的寫好程序了,。假定低電平時燈亮
首先確定好工作頻率,算好定時1秒需要的時間,把跟LED對應的IO口初始化為高電平輸出狀態,1/3/5號燈直接設置成低電平輸出,理論上,1MHz的時鍾源,對應的就是每一個節拍1微秒(1us, 10的-6次方秒),設一個時間標志位f,每一秒標志位f+1,f初始值為0。
然後就是一個流水作業了,判斷標志位然後做對應的動作,可以簡單的用if...else if...else if...else做判斷。
你的標志位應該在
f=2時,3/5號對應的IO口置1同時7號置0
f=3時,7號置1;3、5號置0,
f=4時,3,5號置1;7號置0
f=5時,7號置1;3、5號置0,
f=7時,3、5號置1;4,6,7號置0
f=9時,4,6置1;3,5置0
f=11時,3,5置1
f=12時,7號置1;4,6置0
f=13時,4,6置1;7號置0
f=14時,7號置1;4,6,置0
f=15時,4,6置1;3,5置0
f=17時,所有的IO口位置1
不知道你是8位還是16位機,反正把對應的IO口的為在達到對應的標志位的時候置0或置1就可以了。
給你寫個代碼出來很簡單,但是理清楚思路有一個程序設計的概念比直接給你代碼強多了。希望不要嫌我麻煩
C. SDCC 是什麼意思
SDCC是一個優化的 ANSI - C交叉編譯器,目標CPU為基於Intel 8051, Maxim 80DS390, Zilog Z80 和Motorola 68HC08 的單片機。SDCC是一個免費的開放源代碼的軟體,依據GNU General Public License (GPL) 發布。
D. 求codeblocks帶編譯器的安裝包,16.01的,現在官網找不到
你好,我有codeblocks中文版:點擊下載。裡面帶帶GNW編譯器。好用的話請採納,按照裡面的詳細安裝教程安裝即可。
codeblocks是一個開放源碼且功能全面的跨平台C/C++集成開發環境(IDE),採用c++語言開發,使用了蓍名的圖形界面庫wxWidgets,目前發布了windows版、mac版、linux版。除了能編寫c和c++之外,codeblocks還可以當做其它語言的編輯器來使用,提供了許多工程模板,其中包括控制台應用、DirectX應用、動態連接庫、FLTK應用、GLFW應用、Irrlicht工程、OGRE應用、OpenGL應用、QT應用、SDCC應用、SDL應用、SmartWin應用、靜態庫、Win32 GUI應用、wxWidgets應用、wxSmith工程等,支持用戶自定義工程模板。
E. codeblocks中這是怎麼回事,咋解決,重謝,問題在問題補充中。
英文是說,你需要指定一個調試器,
settings-》debuggers
我用的是MinGW的編譯器,對應gdb.exe
F. SDCC是什麼材質的板材也查不到
摘要 您好,很高興為您解答,sdd不是板材型號SDCC(Small Device C Compiler)是一個優化的 ANSI - C交叉編譯器,目標CPU為基於Intel 8051, Maxim 80DS390, Zilog Z80 和Motorola 68HC08 的單片機。
G. 什麼情況,而且不能生成HEX文件!謝謝!
代碼尺寸超出設備內存的大小限制,
你可能需要修改縮減源碼。
前面的朋友提到 Keil 的注冊問題,個人推薦 SDCC (Small device C compiler) ,這是一個開源的嵌入式 C 編譯器,支持 51,PIC,MCxxx 等設備的編譯。我用了很多年了,SDCC 編譯的目標碼可能不如 Keil C 的緊湊,但效率不是問題,如果真正追求效率的話何不用匯編?Keil C 是商業軟體,既然不想付費,那麼選擇免費的開源產品也是不錯的。
H. contiki jsonparse 怎麼用
在開始定製SDCC之前,有以下幾點需要說明,這也是上文提到的細節錯誤。如果不熟悉linux中從源代碼安裝軟體,可以嘗試從源代碼安裝python,源代碼安裝apache,練習兩次那麼安裝SDCC就熟練多了。 【1】使用sudo apt-get install sdcc指令安裝SDCC,在instant contiki中無法完成cc2530的編譯,所以需要下載SDCC的源代碼進行編譯,這個過程本質為一個定製SDCC的過程。 【2】下載的並不是安裝包,而是SDCC的源代碼。簡單的說這些SDCC的源代碼可以編譯成一個SDCC安裝包。 【3】關於SDCC的版本編號,建議安裝7100版本,雖然最新的版本為8447,但是實際安裝的過程存在問題。 contiki-wiki中說明,SDCC的版本7102到8719存在問題,最新可用的版本為8737(截止2014年4月)。 【4】關於文件目錄。在下面的具體過程中需要多次切換文件目錄,一般的情況下第三方軟體下載於opt目錄
I. linux下怎麼編譯單片機c代碼,怎麼下載到51單片機上呢
1.編譯軟體用sdcc
2.sdcc不支持keil51c 的一些語法。要做以下修改:
sbitled1=P1^0; 改為 #define led1 P1_0
中斷函數interrupt改為__interrupt
單個位 P1^0 改為P1_0
若vim安裝插件YCM的話,要在.ycm_extra_conf.py加入以下兩個路徑
/usr/share/sdcc/include
/usr/share/sdcc/include/mcs51
沒創建一個工程都要拷貝一份.ycm_extra_conf.py到該工程的目錄下。
3.編譯用命令
` sdcc 目標文件
4.燒錄軟體用stcflash.py,該軟體只能支持stc89c52rc,不支持stc89c52。我自己親自試過。
sudo python ./stcflash.py 目標文件
J. sdcc版是啥意思
SDCC(Small Device C Compiler)是一個優化的 ANSI - C交叉編譯器,目標CPU為基於Intel 8051, Maxim 80DS390, Zilog Z80 和Motorola 68HC08 的單片機。
SDCC同時帶有一個源代碼級調試工具SDCDB,使用的是Daniel's s51模擬器當前版本。SDCC是由Sandeep Dutta 所寫的,並依據GPL license 發行。
sdcc的特點:
1、SDCC的sdas和sdld 是基於ASXXXX的交叉編譯工具和鏈接工具,他們都是免費開源的軟體,依據GNU General Public License (GPL) 發布。
2、有針對特定MCU的編程語言擴展,可以高效的使用基本的硬體資源。
3、有大量的標准優化,如全局字表達式削減,循環優化(無任何操作的循環優化,歸納變數循環優化,逆循環優化), 常量合並的傳播,復制傳播,死代碼刪除, 'switch'語句的轉移表優化。
4、針對特定MCU的優化,包括全局寄存器分配演算法。
5、特定MCU後端適應能力,能夠很好的適配其他的8位的MCU。
(10)sdcc編譯器源代碼擴展閱讀:
交叉編譯出現和流行是和嵌入式系統的廣泛發展同步的。常用的計算機軟體,都需要通過編譯的方式,把使用高級計算機語言編寫的代碼(比如C代碼)編譯(compile)成計算機可以識別和執行的二進制代碼。
比如,在Windows平台上,可使用Visual C++開發環境,編寫程序並編譯成可執行程序。這種方式下,我們使用PC平台上的Windows工具開發針對Windows本身的可執行程序,這種編譯過程稱為native compilation,中文可理解為本機編譯。
然而,在進行嵌入式系統的開發時,運行程序的目標平台通常具有有限的存儲空間和運算能力,比如常見的 ARM 平台,其一般的靜態存儲空間大概是16到32MB,而CPU的主頻大概在100MHz到500MHz之間。
這種情況下,在ARM平台上進行本機編譯就不太可能了,這是因為一般的編譯工具鏈(compilation tool chain)需要很大的存儲空間,並需要很強的CPU運算能力。
為了解決這個問題,交叉編譯工具就應運而生了。通過交叉編譯工具,我們就可以在CPU能力很強、存儲空間足夠的主機平台上(比如PC上)編譯出針對其他平台的可執行程序。
要進行交叉編譯,要在主機平台上安裝對應的交叉編譯工具鏈(cross compilation tool chain),然後用這個交叉編譯工具鏈編譯我們的源代碼,最終生成可在目標平台上運行的代碼。