我們知道,當(dāng)使用第三方的代碼時(shí),人家有可能會(huì)扔個(gè)Lib文件給你.這時(shí)候,別人只要提供header文件給你,則你就可以通過(guò)Lib文件及header的函數(shù)聲明,對(duì)Lib中的函數(shù)進(jìn)行調(diào)用.在Keil中如果使用ARMCC調(diào)用Lib文件,相信大家都能從
有時(shí)候切換了編譯方式如從ARMCC轉(zhuǎn)變?yōu)镚CC編譯器,編譯下載時(shí)會(huì)出現(xiàn)Error:FlashDownloadfailed:-"Cortex-M3"這個(gè)錯(cuò)誤。目前,自己測(cè)試解決的方式是:刪除相同目錄下的“DebugConfig” 、“Listings"、“Objects”、“J
Abstract:在C51單片機(jī)編程中,頭文件INTRINS.H的函數(shù)使用起來(lái),就會(huì)讓你像在用匯編時(shí)一樣簡(jiǎn)便.Introduction:Intrins.h內(nèi)部函數(shù) 描述_crol_ 字符循環(huán)左移_cror_ 字符循環(huán)右移_irol_ 整數(shù)循環(huán)左移_iror_ 整數(shù)循環(huán)右移_
一、實(shí)現(xiàn)延時(shí)的兩種方法1、硬件延時(shí)優(yōu)點(diǎn):用到定時(shí)器/計(jì)數(shù)器,這種方法可以提高CPU的工作效率,也能做到精確延時(shí);缺點(diǎn):往往在精度要求不是很高時(shí),會(huì)使定時(shí)器/計(jì)數(shù)器大材小用,而且很極端時(shí),定時(shí)器根本不夠的。2、
分別安裝51和ARM的KEIL,他們?cè)诓煌奈募A,為的是提取C51文件夾。那么問(wèn)題來(lái)了,是不是可以把他們安裝在同一個(gè)文件夾下,理論上行得通,沒(méi)試過(guò)。其實(shí)很簡(jiǎn)單的,下面介紹步驟:一、先將KEIL C51安裝目錄下的名字為
上一講中我們學(xué)習(xí)了如何建立工程、匯編、連接工程,并獲得目標(biāo)代碼,但是做到這一 步僅僅代表你的源程序沒(méi)有語(yǔ)法錯(cuò)誤,至于源程序中存在著的其它錯(cuò)誤,必須通過(guò)調(diào)試才能 發(fā)現(xiàn)并解決,事實(shí)上,除了極簡(jiǎn)單的程序以
$NOMOD51;------------------------------------------------------------------------------; This file is part of the C51 Compiler package; Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software,
函數(shù)指針在C語(yǔ)言中應(yīng)用較為靈活。在單片機(jī)系統(tǒng)中,嵌入式操作系統(tǒng)、文件系統(tǒng)和網(wǎng)絡(luò)協(xié)議棧等一些較為復(fù)雜的應(yīng)用都大量地使用了函數(shù)指針。Keil公司推出的C51編譯器是事實(shí)上80C51 C編程的工業(yè)標(biāo)準(zhǔn),它針對(duì)8051系列C
在keil 中 C語(yǔ)言的函數(shù)有帶參數(shù)和不帶參數(shù)之分。一般的資料里說(shuō)fun(void)類型的函數(shù)不帶參數(shù),所以,keil編譯器生成的匯編的調(diào)用地址(函數(shù)名) 為fun。這沒(méi)有錯(cuò)。事實(shí)上,不管C語(yǔ)言的函數(shù)是否帶參數(shù),只要函數(shù)在調(diào)
keil編譯后出現(xiàn)Program Size: data=21.0 xdata=0 code=2231。這表明 data= 21.0 數(shù)據(jù)儲(chǔ)存器內(nèi)部RAM占用21字節(jié), xdata=0 數(shù)據(jù)儲(chǔ)存器外部RAM占用0字節(jié)code=2231程序儲(chǔ)存器ROM占用2231字節(jié),
前一陣子轉(zhuǎn)投到MDK下面做開(kāi)發(fā),因?yàn)楣疽郧岸加胔-jtag做下載仿真工具,用的h-jtag版本為V0.9,我拿以前在ads1.2中編譯成功的程序,稍作修改,在mdk下編譯成功,仿真也沒(méi)有問(wèn)題,但下載到cpu中卻怎么也沒(méi)有結(jié)果,原本我以
本篇內(nèi)含工程建立以及JLINK設(shè)置,內(nèi)容借鑒了前人經(jīng)驗(yàn),在此感謝各位前人的貢獻(xiàn)。1 下載stm32F10x的官方庫(kù)http://www.st.com/web/en/catalog/tools/PF2578902 新建工程工程名設(shè)為stm32_demo,選擇芯片型號(hào)為STM32F103
Keil編譯程序沒(méi)有問(wèn)題,在下載程序的時(shí)候出現(xiàn):甚至于出現(xiàn),Keil死掉的情況因?yàn)槌绦蚩梢跃幾g過(guò),所以程序本身并沒(méi)有問(wèn)題,當(dāng)下載時(shí)出問(wèn)題就應(yīng)該是 程序太大超出了單片機(jī)Flash、RAM太大等地方的問(wèn)題。最后檢查是因?yàn)槌?/p>
在Keil的工程設(shè)置中需要根據(jù)所選單片機(jī)來(lái)更改宏定義,如果程序移植后,宏定義沒(méi)有更改過(guò)去,有時(shí)候會(huì)報(bào)錯(cuò)。這個(gè)宏定義代表了芯片的類型,如下:因此需要根據(jù)自己芯片的類型,更改宏定義。如何知道自己芯片的資源名稱
在Realview MDK的集成開(kāi)發(fā)環(huán)境中,默認(rèn)情況下可以生成*.axf格式的調(diào)試文件和*.hex格式的可執(zhí)行文件。雖然這兩個(gè)格式的文件非常有利于ULINK2仿真器的下載和調(diào)試,但是ADS的用戶更習(xí)慣于使用*.bin格式的文件,甚至有
C51程序編譯生成匯編代碼的效率,是由許多因素共同決定的,對(duì)于Keil C51,主要受以下兩種因素影響:第一節(jié) 存儲(chǔ)模式的影響 存儲(chǔ)模式?jīng)Q定了缺省變量的存儲(chǔ)空間,而訪問(wèn)各空間變量的匯編代碼的繁簡(jiǎn)程度決定了代碼率的高
關(guān)于編譯器的優(yōu)化,參考網(wǎng)上的8051系列的說(shuō)明如下:??0級(jí)優(yōu)化:1、 常數(shù)折疊:只要有可能,編譯器就執(zhí)行將表達(dá)式化為常數(shù)數(shù)字的計(jì)算,其中包括運(yùn)行地址的計(jì)算。2、 簡(jiǎn)單訪問(wèn)優(yōu)化:對(duì)8051系統(tǒng)的內(nèi)部數(shù)
最近和一位8051都老前輩接觸51單片機(jī)(接觸arm之后返璞歸真??不過(guò),51是個(gè)好東西),我用keilC寫(xiě)了一個(gè)test,他用匯編(他的匯編功力的是恐怖),我c生成的hex,經(jīng)過(guò)反匯編之后對(duì)比兩個(gè)程序,發(fā)現(xiàn)c生產(chǎn)的hex冗
keil的“Edit”-“Configuration”里有一個(gè)“Encoding”設(shè)置,當(dāng)該設(shè)置是“Encoding in ANSI”時(shí),keil里的中文就是用兩個(gè)位來(lái)表示的,這個(gè)時(shí)候把keil中的中文字拷貝出去就會(huì)亂碼。所以把該設(shè)置改為“Chinese GB2312