啟動代碼通常都燒寫在flash中,它是系統(tǒng)一上電就執(zhí)行的一段程序,它運(yùn)行在任何用戶c代碼之前。上電后,arm處理器處于arm態(tài),運(yùn)行于管理模式,同時系統(tǒng)所有中斷被禁止,pc到地址0處取指令執(zhí)行。一個可執(zhí)行映像文件必須有個入口點(diǎn),而能放在rom起始處的映像文件的入口地址也必須設(shè)置為0.在匯編語言中,我們已經(jīng)說[詳細(xì)]
上一文中擴(kuò)展了單片機(jī)的程序存儲器,4KB存儲空間提升到64KB。其實(shí),4K的代碼空間還湊合,但是51自帶的256B數(shù)據(jù)存儲空間使用起來還真緊張,其中留給用戶的連128B都不到,所以不得不擴(kuò)展片外RAM。擴(kuò)展RAM方法和擴(kuò)展ROM差不多,都是占用P0/P2口做地址線,同時P0用鎖存器74373分時復(fù)用地址和數(shù)據(jù)信號。以前擴(kuò)展RAM是[詳細(xì)]
JTAG是最基本的通訊協(xié)議之一,大家可以理解為與RX TX或者USB的道理是一樣的,只是一種通訊手段,但與RX TX以及USB有很重大的不同,那就是這個JTAG協(xié)議是最底層的,說的通俗一點(diǎn),一般來說,手機(jī)里邊,CPU是老大,對吧?但在JTAG面前,他就不是老大了,JTAG協(xié)議就是用來控制CPU的,在JTAG面前CPU變成嘍啰了。一?a title="JTAG的作用和原理" href="http://tjeye.net/danpianjirumen/54421.shtml" class="float-end">[詳細(xì)]
Startup code:啟動代碼。在Keil中,啟動代碼在復(fù)位目標(biāo)系統(tǒng)后立即被執(zhí)行。啟動代碼主要實(shí)現(xiàn)以下功能:(1) 清除內(nèi)部數(shù)據(jù)存儲器(2) 清除外部數(shù)據(jù)存儲器(3) 清除外部頁存儲器(4) 初始化small模式下的可重入棧和指針(5) 初始化large模式下的可重入棧和指針(6) 初始化compact模式下的可重入棧和指針(7) 初始化[詳細(xì)]
單片機(jī)中一個程序的運(yùn)行過程分為取指令,分析指令和執(zhí)行指令幾個步驟。取指令的任務(wù)是:根據(jù)程序計數(shù)器PC中的值從程序存儲器讀出現(xiàn)行指令,送到指令寄存器。分析指令階段的任務(wù)是:將指令寄存器中的指令操作碼取出后進(jìn)行譯碼,分析其指令性質(zhì)。如指令要求操作數(shù),則尋找操作數(shù)地址。計算機(jī)執(zhí)行程序的過程實(shí)際上[詳細(xì)]
相比TI的CC254X、DIALOG的DA1458X,nordic推出的nrf51822和nrf52832在架構(gòu)和開發(fā)商都有自己獨(dú)特的地方。這幾顆產(chǎn)品都是藍(lán)牙低功耗芯片。DA1458X使用OTP硬件架構(gòu),功耗低,成本也低,但軟件開發(fā)難度是個門檻,大團(tuán)隊才能做到量產(chǎn),當(dāng)然掌握了也是競爭力(想學(xué)習(xí)開發(fā)就參考博主之前的分享吧)。如果對三種架構(gòu)都很熟[詳細(xì)]
【問】有網(wǎng)友問關(guān)于I2C總線的仲裁問題:The I2C-bus specification的第13頁有這樣的話:In other words, arbitration isn’t allowed between:* A repeated START condition and a data bit* A STOP condition and a data bit* A repeated START condition and a STOP condition.Slaves are n[詳細(xì)]
1.標(biāo)號IDATALEN EQU 80H ; the length of IDATA memory in bytes.這里IDATALEN只是一個標(biāo)號而已,和idata不是一回事!你要是愿意,這段程序里的IDATALEN你完全可以改成dog呀,pig呀,playboy呀這些標(biāo)號(其實(shí)我的理想是過豬一樣的生活,不愁吃喝,無憂無慮,可惜做不到),上面的這一句是說程序里面凡是用[詳細(xì)]
先說說Flash Loader這個小程序,IAR調(diào)試器C-SPY默認(rèn)是通過它來完成數(shù)據(jù)傳輸、Flash 擦除和燒寫等任務(wù),當(dāng)然前提是得選中Options->Debugger->Download選項下的“Use Flash Loader”,如下圖:下面我們說說Flashloader的工作原理,其實(shí)Flashloader是IAR為C-SPY調(diào)試器開發(fā)的一個可執(zhí)行小[詳細(xì)]
最近在玩九軸的慣性傳感器,很是有挑戰(zhàn)性.九軸說的是三軸的加速度計、三軸的陀螺儀以及三軸的磁場傳感器。但是只是單純的測出九個軸的數(shù)據(jù)沒什么用,關(guān)鍵是要能夠融合這九軸數(shù)據(jù)得出我們想要的結(jié)果。這里就運(yùn)用三階卡爾曼濾波算法來融合這九軸運(yùn)動數(shù)據(jù)為三軸的角度。運(yùn)用這三個角度可以用來做自平衡車或者四軸飛[詳細(xì)]
公司里曾在北美作為產(chǎn)品研發(fā)經(jīng)理的資深人物某日和我閑聊,說到中美程序員的差別,北美的程序員,尤其是發(fā)明那些根本性東西比如JAVA, 比如Message機(jī)制,用得都是非常簡單的辦法,一方面,英語作為母語,與程序設(shè)計語言更加靠近,比中國的象形文字來的近,另一方面,這些北美的程序員似乎都深諳大道至簡的[詳細(xì)]
I2C的上拉電阻可以是1.5K,2.2K,4.7K, 電阻的大小對時序有一定影響,對信號的上升時間和下降時間也有影響,一般接1.5K或2.2KI2C上拉電阻確定有一個計算公式:Rmin={Vdd(min)-o.4V}/3mARmax=(T/0.874) *c, T=1us 100KHz, T=0.3us 400KHzC是Bus capacitanceRp最大值由總線最大容限(Cbmax)決定,Rp最小[詳細(xì)]
上一課我們的第一個項目完成了,可能有懂C語言的朋友會說,"這和PC機(jī)上的C語言沒有多大的區(qū)別呀"。的確沒有太大的區(qū)別,C語言只是一種程序語言的統(tǒng)稱,針對不同的處理器相關(guān)的C語言都會有一些細(xì)節(jié)的改變。編寫PC機(jī)的C程序時,如要對硬件編程你就必須對硬件要有一定的認(rèn)識,51單片機(jī)編程就更是如[詳細(xì)]
一、首先談一下幾種掉電不丟數(shù)據(jù)的存儲設(shè)備:1.Norflash:可擦寫,貴,在Norflash上可以直接運(yùn)行代碼!2.Nandflash:可擦寫,便宜,只能用于存儲數(shù)據(jù);3.磁盤:就是我們常說的硬盤,可擦寫,便宜,只能用于存儲數(shù)據(jù);二、正題1.MCU大多數(shù)單片機(jī)的代碼都是存在Norflash里面,這就意味著程序可以直接在f[詳細(xì)]
GCC警告選項對我們及時找出代碼中BUG,改善代碼品質(zhì)很有幫助。聽說高手們對每個警告選項都很熟悉,能靈活運(yùn)用各個警告選項來分門別類地過濾代碼中的BUG信息。1../SRC/libpjmacl/pjmacl_jaccmd.c:1661: 警告: dereferencing type-punned pointer will break strict-aliasing rulespjmacl_free((void*[詳細(xì)]
初學(xué)單片機(jī)時,都會糾結(jié)于其各個模塊功能的應(yīng)用,如串口(232,485)對各種功能IC的控制,電機(jī)控制PWM,中斷應(yīng)用,定時器應(yīng)用,人機(jī)界面應(yīng)用,CAN總線等. 這是一個學(xué)習(xí)過程中必需的階段,是基本功。很慶幸,在參加電子設(shè)計大賽賽前培訓(xùn)時,MCU周圍的控制都訓(xùn)練的很扎實(shí)。經(jīng)過這個階段后,后來接觸不同的MCU[詳細(xì)]
最近一直在做凌陽的GPL32001的單片機(jī)開發(fā),主打產(chǎn)品是一架鋼琴。在這架鋼琴上,我們可以看到遍布著很多按鍵,有琴鍵,也有功能選擇的按鍵,面對如此多的按鍵,對于一個剛出來工作的小伙伴肯定壓力比較大,琴鍵的特征和普通按鍵不太一樣,琴鍵的一個按鍵由兩個按鍵組成,一個按鍵儲存著兩樣信息,力度和鍵[詳細(xì)]
最近有不少軟件領(lǐng)域的牛人進(jìn)軍硬件行業(yè),但不知從何處入手。相信每個人面對一個龐大的知識體系時都一樣迷茫。最佳的應(yīng)對策略就是找一個最貼近自己需求的切入點(diǎn),然后向四面八方鋪開去逐漸認(rèn)識整個知識網(wǎng)絡(luò)。這篇文章就是為了讓你在這個知識網(wǎng)里面找到自己現(xiàn)在的位置,然后有目的有方向地選擇下一步。簡單來講[詳細(xì)]
這幾天,我在讀Seth Godin的《創(chuàng)業(yè)者圣經(jīng):有創(chuàng)意,無資金,如何起家》(The Bootstrapper's Bible,上海譯文出版社,2000)。當(dāng)你白手起家,開始創(chuàng)業(yè)的時候,市場往往已經(jīng)被幾家大企業(yè)牢牢占據(jù)。如何在與大企業(yè)的競爭中存活下來,就成了你面對的最大問題。許多創(chuàng)業(yè)者對這個問題缺乏清醒的認(rèn)識,不懂得揚(yáng)[詳細(xì)]
通過CMSIS-utrealos項目中的CTBUG調(diào)試,使我對裸機(jī)C編程加深了認(rèn)識。那個BUG調(diào)試,現(xiàn)象是出現(xiàn)hard fault,但是fault出現(xiàn)地的匯編指令看著貌似沒啥問題,解決一處的fault后,其他處又出現(xiàn)fault了。最后我看到原來是fault出現(xiàn)地的指令中源地址錯誤了,源地址應(yīng)該在數(shù)據(jù)段中,卻意外地落到了代碼段中。這個[詳細(xì)]
掃碼關(guān)注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4