單片機反匯編工具包 單片機反匯編 單片機反匯編即寫入單片機的bin文件或是hex文件,經過人工處理或是反匯編軟件處理成匯編語言。這些匯編語言里面變量名,標號名,程序名都是簡單的數(shù)字字母符號,沒有實際意義。所以一般的單片機程序員都不愿意看,也很難看懂。單片機反匯編看懂需要比較有經驗的軟件工程師。但是研究反匯編程序是學習和吸收外國先進技術的非常好的途徑。目前國內也有不少工程師在研究單片機反匯編技術
上傳時間: 2013-12-19
上傳用戶:1417818867
at91rm9200啟動過程教程 系統(tǒng)上電,檢測BMS,選擇系統(tǒng)的啟動方式,如果BMS為高電平,則系統(tǒng)從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續(xù)的存放的32個字節(jié),也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規(guī)定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數(shù)115200 8 N 1以及運行XMODEM協(xié)議。對USB DEVICE進行初始化以及運行DFU協(xié)議。現(xiàn)在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時我們打開超級終端會看到ccccc...。這說明系統(tǒng)已經啟動,同時xmodem協(xié)議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協(xié)議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續(xù)打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統(tǒng)啟動等一些命令。 如果系統(tǒng)上電時bms為低電平,則系統(tǒng)從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統(tǒng)復位,就可以看到系統(tǒng)先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環(huán)境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區(qū)別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131
Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C 來開發(fā),體會更加深刻。Keil C51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹 Keil C51 開發(fā)系統(tǒng)各部分功能和使用。第二節(jié) Keil C51 單片機軟件開發(fā)系統(tǒng)的整體結構C51 工具包的整體結構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創(chuàng)建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉換成標準的Hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結構圖第三節(jié) Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統(tǒng)正常工作須進行以下操作(設C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運行Autoexec.bat2. C51 for Windows 的安裝及注意事項:在 Windows 下運行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設置最簡單(設安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節(jié) Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發(fā)人員可根據(jù)自己的習慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經 C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統(tǒng)RTX51 是一個實時多任務操作系統(tǒng),它改變了傳統(tǒng)的編程模式,甚至不必用main( )函數(shù),單片機系統(tǒng)軟件向RTOS 發(fā)展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結構等都不太復雜,RTX51 作用顯得不太突出,其專業(yè)版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統(tǒng),因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調試器和模擬器,它可以調試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
根據(jù)LCD屏幕大小,加載常見格式的圖片,或者提取不同字符集、不同字體的字模,對其進行簡單的縮放、旋轉和翻轉處理,然后按照一定的掃描線,轉換成嵌入式系統(tǒng)需要的顏色質量,最后保存成C語言數(shù)組,BIN,BMP或字符圖文件格式
標簽: 字模
上傳時間: 2013-10-10
上傳用戶:tom_man2008
單片機語言C51應用實戰(zhàn)集錦使用C語言開發(fā)速度快,代碼可重復使用,程序結構清晰、易懂、易維護,易開發(fā)一些比較大型的項目。目前,許多編譯器都已經支持了C51,而且是Windows視窗界面。Kelic51是目前單片機開發(fā)最為流行的軟件。本書收集并整理了許多實用的采用C51單片機開發(fā)的程序,這些程序既可以給讀者以開拓思路,參考的用途又是實際的開發(fā)程序,可以直接作為程序應用在相同的開發(fā)系統(tǒng)上。通過本書的學習,讀者可以進一步了解和掌握C51編程的思路和方法。單片機語言C51應用實戰(zhàn)集錦目錄:程序一 實時時鐘芯片DS1302的C51程序例子程序二 C430與CSI的一點區(qū)別程序三 一個菜單的例子程序四 DS1820單芯片溫度測量程序五 keilc 6.20c版直接嵌入匯編的方法程序六 用計算機并口模擬SPI通信的C源程序程序七 CRC 16-SIANDARD的快速算法程序八 在PC上用并行口模擬I(平方)C總線的C源代碼程序九 一種在C51中寫二進制的方法程序十 CRC算法原理及C語言實現(xiàn)程序十一 軟件陷階程序十二 一個簡單的VB串口發(fā)送程序程序十三 12864漢字液晶顯示驅動程序程序十四 12232點陣液晶基本驅動程序程序十五 串口中斷服務函數(shù)集程序十六 93C46讀寫程序程序十七 20045讀寫程序程序十八 一組小程序集錦程序十九 AVR asm源程序程序二十 AVR單片機一個簡單的通信程序程序二十一 TG19264A接口程序程序二十二 TG19264A接口程序(AVR模擬方式)程序二十三 常用的幾種碼制轉換BCD,HEX,BIN程序二十四 16x2字符液晶屏驅動演示程序一程序二十五 16x2字符液晶屏驅動演示程序二程序二十六 PS7219代碼程序二十七 2051的AD代碼程序二十八 ARV19264型液晶顯示字庫程序二十九 液晶CKW19264A型接口程序(模擬方式)程序三十 I(平方)C總線驅動程序程序三十一 240128型液晶代碼程序三十二 飛機游戲程序三十三 PC鍵代碼程序三十四 拼音輸入法模塊程序三十五 串行口代碼程序三十六 蛇游戲代碼程序三十七 與液晶模塊T6963C連接代碼程序三十八 鍵盤輸入法設計草案程序三十九 16*4液晶漢字代碼程序四十 智能化家電控制附錄C 單片機C51編程幾個有用的模塊附錄D 頭文件W77E58.h附錄A MCS-51單片機定點運算子程序庫附錄B MCS-51單片機浮點運算子程序庫
上傳時間: 2013-11-02
上傳用戶:kbnswdifs
Proteus6.9和Keil聯(lián)調方法及破解文件下載:方法:1.安裝proteus6.9和keil吧2.安裝壓縮包里面的vdmagdi.exe文件,安裝完后keil\c51\bin\文件夾里面會有VDM51.DLL這個.3.把壓縮包里面的PROSPICE.DLL復制到Proteus6Professional\bin目錄下,覆蓋已經有的.4.打開keil,打開optionfortarget里面的debug選項卡,選擇ProteusVSMSimulator,并進行相關設置.(兩臺計算機聯(lián)調得輸入正確的host IP和port號)5,打開isis,選擇debug\useremotedebugmonitor.這樣就可以啦,試試看吧!
上傳時間: 2013-10-15
上傳用戶:wenwiang
800A全自動STC單片機實驗開發(fā)板軟硬件說明:① 將下載編程通信線的DB9串行通信RS232插頭,插入PC機的RS232串行通信座,用以實現(xiàn)對STC單片機下載編程的通信。② 將下載編程通信線的USB插頭(與DB9串行通信RS232插頭線較短的一端,注意別搞錯,否則不能工作),插入PC機的USB通信座,用以實現(xiàn)對全自動STC單片機實驗開發(fā)板的供電。③ 將下載編程通信線的USB插頭(與DB9串行通信RS232插頭線較長的一端,注意別搞錯,否則不能工作),插入全自動STC單片機實驗開發(fā)板上的USB座,以實現(xiàn)對其下載編程的通信和供電。3. 所需軟件① 各類文本編輯器軟件,如Eidt,記事本等,編輯匯編語言源程序*.ASM;② 集成環(huán)境WAVE6000軟件:將匯編語言源程序編譯成*.hex文件(也可直接在此環(huán)境下編輯匯編語言源程序*.ASM);③ 官方提供的STC-ISP軟件(http//www.MCU-Memory.com):將匯編語言源程序編譯成的*.hex文件在線下載到STC單片機中。4. 使用說明4.1 WAVE6000軟件使用說明① 在“WAVE6000”目錄中的“BIN”子目錄下,雙擊右圖偉福標志執(zhí)行偉福軟件,若跳出“檢查電源……”的對話框,點擊“取消”,跳出如下畫面(下圖僅左上部分)。
上傳時間: 2013-11-10
上傳用戶:zuozuo1215
Keil uVision3下載:keil uvision3注冊機,keil uvision3中文版:Keil uVision3軟件破解版與沒破解版的區(qū)別就是一個沒有代碼限制,一個有2K代碼限制。附件含有手冊和教程。 1.點擊c51v802.exe直接安裝直到結束,安裝路徑最好選用默認的c:\keil與 原來的老板本放到相同的目錄下會自動添加一個新的目錄c:\keil\uv3 2.第一次運行請先進入file->License Management彈出窗口下輸入注冊碼, 注冊碼由Keil_lic_v2.exe生成,選擇V2選項,生成后復制LIC0內容到keil 彈出窗口的New License ID Code中然后點擊Add LIC,注意看看注冊后的使 用期限,如果太短可以用注冊機重新生成,一般都可以找到30年左右:-) 3.復制ccKeilVxx.exe文件到c:\keil\c51\bin\下面并運行,以修正0xFD BUG. 至此安裝完畢。
上傳時間: 2013-10-14
上傳用戶:ruixue198909
使用注意:注意燒寫的時候不要勾選SC0,SC1這兩項加密項也不要選 初學51單片機或是業(yè)余玩玩單片機開發(fā),每次總要不斷的調試程序,如沒有仿真器又不喜歡用軟件仿真,那只有每次把編譯好的程序燒錄到芯片上,然后在應用電路或實驗板上觀察程序運行的結果,對于一些小程序這樣的做好也可以很快找到程序上的錯誤,但是程序大了,變量也會變的很多,而直接燒片就很難看到這些變量的值了,在修改程序時還要不斷的燒片實驗,確實很麻煩,這時如果有一臺仿真器就會變得很好方便了。但一臺好的仿真器對于業(yè)余愛好者來說確實有一些貴,在這里介紹這種易于自制的51芯片仿真器雖然有一些地方不夠完善,但還是非常適于初學51單片機的朋友和經濟能力不是很好的業(yè)余愛好者。 這個仿真器的仿真CPU是使用SST公司的SST89C58或SST89C54(其它相容的芯片也可,這里主要講述SST89C58),對于沒有可以燒寫SST89C58芯片的朋友應該選用CA版本的SST89C58芯片,這個CA型號的芯片出廠時已內置了BSL1.1E的固件程序。那什么是BSL呢?BSL就是英文BOOT-Strap Loader,意思就是可引導裝載,形象來說就像電腦用DOS起動盤起動后可以裝載應用程序并運行。只不過SST89C58是用串口來輸入程序資料的。為了能把編譯好的單片機程序HEX或BIN文件下載到SST89C58芯片上,SST公司還提供了一種叫EasyIAP的軟件,IAP為In-Application Programming,有了這個軟件就可以把SST89C54變?yōu)樵诰€下載的實驗器。
標簽: PCB 仿真器 原理圖 監(jiān)控程序
上傳時間: 2013-11-18
上傳用戶:gonuiln
AOC772S單芯片06年新款機數(shù)據(jù):AOC772S(24C08)單芯片06年新款.bin
上傳時間: 2013-12-17
上傳用戶:liangrb