調(diào)試ARM,要遵循ARM的調(diào)試接口協(xié)議,JTAG就是其中的一種。當(dāng)仿真時(shí),IAR、KEIL、ADS等都有一個(gè)公共的調(diào)試接口,RDI就是其中的一種,那么我們?nèi)绾瓮瓿蒖DI-->ARM調(diào)試協(xié)議(JTAG)的轉(zhuǎn)換呢?
1.通過使用預(yù)處理指令#asm 和#endasm來使用匯編語言。用戶編寫的匯編語言可以緊跟在#asm之后,而在#endasm之前結(jié)束。如下所示:# asm/*匯編源程序*/# endasm在#asm和#endasm之間的語句將作為匯編語言的語句
摘要:散列(hash)是一種重要的存儲(chǔ)方法,也是一種常見的查找方法。它是指在記錄的存儲(chǔ)位置和它的關(guān)鍵字之間建立一個(gè)確定的對(duì)應(yīng)關(guān)系。本文以射頻卡門禁控制器為例,說明用射頻卡卡號(hào)作為關(guān)鍵字,用Hash查找法確定此卡能否
整篇文章的結(jié)構(gòu)如下:一、直接把時(shí)鐘管理用到的寄存器羅列出來進(jìn)行分析。二、對(duì)其中的一些原理性的東西做介紹。三、對(duì)于在后面編寫串口時(shí)會(huì)出現(xiàn)的問題注意點(diǎn)提出說明。四、LED 代碼一、在時(shí)鐘管理中會(huì)用
我們使用Keil C調(diào)試某系統(tǒng)時(shí)積累的一些經(jīng)驗(yàn)1、在Windows2000下面,我們可以把字體設(shè)置為Courier,這樣就可以顯示正常。2、當(dāng)使用有片外內(nèi)存的MCU(如W77E58,它有1K片外內(nèi)存)的時(shí)候,肯定要設(shè)置標(biāo)志位,并且編譯方式
實(shí)現(xiàn)延時(shí)通常有兩種方法:一種是硬件延時(shí),要用到定時(shí)器/計(jì)數(shù)器,這種方法可以提高CPU的工作效率,也能做到精確延時(shí);另一種是軟件延時(shí),這種方法主要采用循環(huán)體進(jìn)行。1使用定時(shí)器/計(jì)數(shù)器實(shí)現(xiàn)精確延時(shí) 單片機(jī)系統(tǒng)
創(chuàng)建工程: 我們使用的是keil軟件實(shí)現(xiàn)對(duì)我們編寫的程序進(jìn)行 編輯 + 編譯; 鏈接:http://pan.baidu.com/s/1i5yIh97密碼:7az5 安裝完成之后,就要?jiǎng)?chuàng)建新工程了: (1)創(chuàng)建工程文件夾:/led (2)在 /led
一.target名更改 打開Keil后,左側(cè)Project Workspace中的target可改,方法:右擊Target——Manage Compnents——雙擊待修改項(xiàng)即可,若要添加,使用對(duì)話框內(nèi)對(duì)應(yīng)工具欄。二.option for target 設(shè)置之TARGET項(xiàng)1 MEMA
相信很多人遇到多光標(biāo)處顯示的字符并不是正確的字符,可一直沒有辦法解決。其實(shí)很簡(jiǎn)單,在Keil c目錄下TOOLS.INI文件中第三行增加一條語句:ANSI=1就可以了??纯次业倪@個(gè)配置文件內(nèi)容:[UV2]ORGANIZATION="HEYONG"N
Keil C51使用教程---開發(fā)系統(tǒng)基本知識(shí)(一)第一節(jié) 系統(tǒng)概述Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易
我寫了一個(gè)函數(shù),我要把它放到FLASH 的第31區(qū),地址為0x0801F000 這個(gè)地方,我在網(wǎng)上搜了一個(gè)方法。雖然達(dá)到了效果網(wǎng)上說加個(gè)__at;且包含頭文件#include "absacc.h"這種方法只適用于 數(shù)組的絕對(duì)定義。方法如下:u8 T
1、將要生成庫文件的代碼新建一個(gè)工程,比如LibExample,然后把代碼加到其中,在Option for target中的Output里選擇Create Library,編譯通過生成庫文件。如下2圖2、將生成的庫文件(LibExample.lib)拷貝到新項(xiàng)目(H
有時(shí)候在編好一個(gè)程序之后,編譯鏈接時(shí),提示說有如下錯(cuò)誤。錯(cuò)誤為 ..\\校長(zhǎng)基金1\\TEXT1.C(56): error C100: unprintable character 0xA1 skipped ..\\校長(zhǎng)基金1\\TEXT1.C(56): error C100: unprintable character 0x
在Keil C51 中使用printf ,首先需要重新實(shí)現(xiàn) putchar(char c)函數(shù)。此函數(shù)在charputchar(charc){ES=0;SBUF=c;while(TI==0);TI=0;ES=1;return0;}我們先分析一下上面這個(gè)程序哈,關(guān)閉串口中斷發(fā)送單字節(jié)數(shù)據(jù)等待發(fā)送完
簡(jiǎn)介寫這篇教程主要是和大家分享使用STM32的基本方法,也是給自己學(xué)習(xí)過程的總結(jié)、記錄和備忘,避免重復(fù)學(xué)習(xí)之前明白但又忘記的知識(shí)和操作。我現(xiàn)在也是剛開始接觸學(xué)習(xí)STM32,我是在STM32的固件庫V3基礎(chǔ)上進(jìn)行學(xué)習(xí)。在
第一節(jié) 絕對(duì)地址訪問C51提供了三種訪問絕對(duì)地址的方法:1. 絕對(duì)宏:在程序中,用“#include”即可使用其中定義的宏來訪問絕對(duì)地址,包括:CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD具體使用可看一看ab
第一節(jié)KeilC51編譯器的控制指令C51編譯器的控制指令分為三類:源文件控制類,目標(biāo)文件控制類及列表控制類。1.源文件控制類NOEXTEND:C51源文件不允許使用ANSIC擴(kuò)展功能。DEFINE(DF):定義預(yù)處理(在C51命令行)。2.目標(biāo)
一些工控產(chǎn)品,當(dāng)系統(tǒng)復(fù)位后(非上電復(fù)位),可能要求保持住復(fù)位前RAM中的數(shù)據(jù),用來快速恢復(fù)現(xiàn)場(chǎng),或者不至于因瞬間復(fù)位而重啟現(xiàn)場(chǎng)設(shè)備。而keil mdk在默認(rèn)情況下,任何形式的復(fù)位都會(huì)將RAM區(qū)的非初始化變量數(shù)據(jù)清零
單片機(jī)開發(fā),首要的兩個(gè)軟件一個(gè)是編程軟件,一個(gè)是下載軟件。編程軟件我們用 Keil uVision4 的51版本,也叫做 Keil C51,不做過多介紹,先直接講如何安裝。1) 首先準(zhǔn)備 Keil uVision4 安裝源文件,雙擊安裝文件,彈
C51強(qiáng)大功能及其高效率的重要體現(xiàn)之一在于其豐富的可直接調(diào)用的庫函數(shù),多使用庫函數(shù)使程序代碼簡(jiǎn)單,結(jié)構(gòu)清晰,易于調(diào)試和維護(hù),下面介紹C51的庫函數(shù)系統(tǒng)。第一節(jié) 本征庫函數(shù)(intrinsic routines)和非本征證庫函數(shù)C