接觸嵌入式以來(lái),匯編來(lái)來(lái)回回學(xué)了好幾遍,感覺(jué)還是有幾個(gè)地方不清楚,所以在這里做一下總結(jié),基本的非常簡(jiǎn)單的指令就不多余介紹了,主要分享一些個(gè)人覺(jué)得雖然微不足道,但是對(duì)于理解ARM匯編有幫助的一些知識(shí)
在這里一定要說(shuō)一下,剛開(kāi)始學(xué)的時(shí)候步入了一個(gè)大坑,我以為我學(xué)的是ARM匯編,后來(lái)了解到了,原來(lái)是GNU匯編,怪不得我有些問(wèn)題去網(wǎng)上找的時(shí)候迷迷糊糊的,直到最近才糾正過(guò)來(lái)
所以首先就是介紹一下這兩種匯編有什么區(qū)別
ARM匯編與GNU匯編區(qū)別
ARM匯編開(kāi)發(fā),有兩種開(kāi)發(fā)方式,一種是使用ARM匯編,一種是使用ARM GNU匯編。
兩種匯編開(kāi)發(fā),使用的匯編指令是完全一樣的。
區(qū)別是宏指令,偽指令,偽操作不一樣。
有上述區(qū)別的原因就是 兩種開(kāi)發(fā)方式所使用的編譯工具不一樣。
在指令表示方面: ARM匯編指令都是大寫(xiě) GNU匯編指令都是小寫(xiě)
兩種常用的ARM的編譯開(kāi)發(fā)環(huán)境 :
DS5、MDK、keil:ARM提供的集成開(kāi)發(fā)軟件。使用的是ARM提供的工具鏈進(jìn)行程序編譯。
GNU開(kāi)發(fā)環(huán)境: 由GNU的匯編器as,交叉編譯器gcc,和鏈接器ld等組成。
因?yàn)槲覀兪褂玫氖荊NU的交叉編譯工具鏈,所以我們使用GNU匯編。
雖說(shuō)我們使用GNU匯編,但我開(kāi)始學(xué)錯(cuò)了,記了好多ARM匯編的筆記,在這里也分享出來(lái)(主要是不能浪費(fèi)了),然后會(huì)將ARM匯編與GNU匯編的異同列舉出來(lái),大家對(duì)照著看完的話(huà)會(huì)有不一樣的收獲
完整匯編語(yǔ)句(適用于A(yíng)RM匯編與GNU匯編)
匯編語(yǔ)言局限于硬件平臺(tái) 以下面不同平臺(tái)舉例(68k為摩托羅拉的一個(gè)架構(gòu))
# 向一個(gè)寄存器中的一個(gè)值加100
x86: add eax, #100
68k: ADD #100,d0
ARM: add r0, r0, 100
ARM匯編指令格式
Operation{cond}{s} Rd, Rn, Operand2
# 一條匯編指令可分為6個(gè)部分,存在2個(gè)可選項(xiàng)
#1. Operation 表示操作指令
#2. {cond} 可選項(xiàng),表示條件,例如 eq(相等)
#3. {s} 可選項(xiàng),表示狀態(tài),例如 n z 也就是上文提到的CPSR寄存器的標(biāo)志位
#4. Rd 英文rigister direction 即 目標(biāo)寄存器
#5. Rn 即 源寄存器
#6. 后續(xù)附加操作
接下來(lái)將上面的完整的匯編指令引申到32位的二進(jìn)制指令
所以匯編與二進(jìn)制指令是一一對(duì)應(yīng)的關(guān)系
# 可能有錯(cuò)誤,但意思是這么個(gè)意思
[7:0]表示 Operand2
[11:8] 表示 Rn
[15:12] 表示 Rd
[19:16] 表示 s
[24:20] 表示 cond
[27:25] 為保留
[31:28] 表示 Operation
匯編入口(只適用于A(yíng)RM匯編)
# 下面一行表示 名字叫做 (Example) 的 (只讀 READONLY) (代碼 CODE) (區(qū)域 AREA)
AREA Example, CODE, REANONLY
# 下面一行ENTRY 表示入口
ENTYR
# 下面一行 表示32位編碼,與16位的Thumb編碼對(duì)應(yīng)
CODE32
# 下面一行表示 固有l(wèi)abel標(biāo)號(hào),表示代碼在這里開(kāi)始執(zhí)行
START
匯編指令
# 下面一行 表示代碼結(jié)束
END
狀態(tài)碼status
這里也需要結(jié)合上文ARM體系結(jié)構(gòu)提到的CPSR寄存器
status碼也緊跟在操作碼以后
例如 MOVC 表示 先進(jìn)位再操作
尋址方式
單寄存器訪(fǎng)問(wèn)
立即數(shù)尋址
ADD R0,R0,#0X3F
立即數(shù)即代表一個(gè)數(shù)字, 立即數(shù)尋址表示在寄存器與一個(gè)數(shù)字之間操作
寄存器尋址
ADD R0,R1,R2 只在寄存器之間操作,不涉及內(nèi)存。
內(nèi)存靠地址尋找,寄存器靠名字尋找
寄存器間接尋址
ADD與MOV指令只能操作寄存器,不能操作內(nèi)存。
操作內(nèi)存使用LDR與STR指令 MOV指令 可以在寄存器之間傳輸數(shù)據(jù),也可以將立即數(shù)傳輸?shù)郊拇嫫?p>
使用如下指令使數(shù)據(jù)在內(nèi)存與寄存器之間傳遞
LDR R0,[R1] 表示將R1對(duì)應(yīng)內(nèi)存的數(shù)據(jù)放到R0
STR R0,[R1] 表示將R0里面的數(shù)據(jù)放到R1對(duì)應(yīng)的內(nèi)存
c語(yǔ)言中指針的解引用也使用這種方式
寄存器移位尋址
ADD R3,R2,R1,LSL#2 表示R1左移兩位加上R2再賦值給R3,LSL表示左移
基址地址尋址
LDR R0,[R1,#4] 表示R1地址加4的地址處的值放到R0
LDR R0,[R1],#4 表示R1地址處的值取出再加4放到R0
LDR R0,[R1,R2] 表示R1加R2對(duì)應(yīng)的內(nèi)存地址的值放到R0
相對(duì)尋址
BL NEXT 表示跳轉(zhuǎn)到NEXT,并且保存跳轉(zhuǎn)前的地址到LR寄存器
相當(dāng)于計(jì)算pc指針的偏移量來(lái)進(jìn)行跳轉(zhuǎn)
多寄存器內(nèi)存訪(fǎng)問(wèn)
原型: STM LDM
變種:
STMIA xx {xx} 表示將后面連續(xù)寄存器地址的值寫(xiě)入前面所指的內(nèi)存中去
LDMIA xx {xx} 表示讀取前面所指內(nèi)存的值放到后面連續(xù)的寄存器中
這里一定要注意單寄存器與多寄存器的存取方向是正好相反的
數(shù)據(jù)塊模式:
A 表示 after 傳送前
B 表示 before 傳送后
I 表示 increase 自增4字節(jié)
D 表示 decrease 遞減4字節(jié)
IA 表示傳送前地址加4
IB 表示傳送后地址加4
DA 表示傳輸前地址減4
DB 表示傳輸后地址減4
默認(rèn)情況下:
STM = STMIA
LDM = LDRIA
堆棧模式: 也是多寄存器尋址的方式
但是多寄存器尋址的位置是任意的
ldria sp! {xxx} 表示在堆棧上連續(xù)讀取多個(gè)數(shù)據(jù)到寄存器
是一種壓棧和出棧的實(shí)現(xiàn)方式
跳轉(zhuǎn)指令
長(zhǎng)指令跳轉(zhuǎn),直接操作pc寄存器
短指令跳轉(zhuǎn),使用bl 或者 b 進(jìn)行跳轉(zhuǎn)
b與bl與bx
b相當(dāng)于c語(yǔ)言中的goto語(yǔ)句,不回到原來(lái)地方
bl相當(dāng)于將當(dāng)前地址放入lr寄存器,執(zhí)行完以后最后一句為mov pc, lr跳回原來(lái)的地址繼續(xù)執(zhí)行
bx表示帶模式跳轉(zhuǎn),返回原有的模式(例如超級(jí)模式)
MRS 與 MSR 記憶方法
這是操作CPSR寄存器的兩個(gè)命令,具體使用方法不做過(guò)多介紹
MRS 表示 Move to Register from Status register英文的其中幾個(gè)簡(jiǎn)寫(xiě)
MSR 表示 Move to Status register from Register 英文的其中幾個(gè)簡(jiǎn)寫(xiě)
arm匯編偽指令
雖然匯編指令可以實(shí)現(xiàn)循環(huán)以及跳轉(zhuǎn)等各種工作,但比較繁瑣 所以使用帶參數(shù)宏的方法來(lái)實(shí)現(xiàn)一些偽指令
偽指令只在匯編器之前作用,匯編之后會(huì)翻譯成標(biāo)準(zhǔn)的匯編指令集
偽指令分為arm匯編偽指令與GNU匯編偽指令
下面均為 ARM匯編 偽指令
兩種偽指令對(duì)應(yīng)關(guān)系在后面表格列舉出來(lái)
.global 是GNU偽指令,表示全局的標(biāo)簽,對(duì)外導(dǎo)出
_start 是GNU偽指令,表示起始地址,類(lèi)似于我們之前提到的ENTYR
指令后綴
ldrb r0, [r1] 指令意思不變,操作數(shù)變?yōu)橐粋€(gè)字節(jié)(byte)(8位)
ldrh r0, [r1] 指令意思不變,操作數(shù)變?yōu)橐粋€(gè)半字(half word)16位
ldrs r0, [r1] 指令意思不變,操作數(shù)變?yōu)橛蟹?hào)數(shù)(signed)
movs r0, #0 默認(rèn)結(jié)果為零但不影響CPSR的Z位,加上s以后會(huì)影響CPSR標(biāo)志位
但是以下指令一定會(huì)影響標(biāo)志位
cmp r0, r1 等價(jià)于sub r0, r1, 比較結(jié)果是否為零,將CPSR中的 Z 標(biāo)志位置位
cmn r0, r1 等價(jià)于add r0, r1 判斷兩個(gè)數(shù)是否互補(bǔ),比較結(jié)果是否為零,將CPSR中的 Z 標(biāo)志位置位
tst r0, #01 等價(jià)于 add r0, #01 用于測(cè)試某些位是否為1 ,將CPSR中的 Z 標(biāo)志位置位
teq r0, r1等價(jià)于 eor r0, r1 使用異或判斷兩個(gè)寄存器是否相等,將CPSR中的 Z 標(biāo)志位置位
條件執(zhí)行后綴
beq 如果條件成立再進(jìn)行跳轉(zhuǎn),條件后綴成立取決于之前代碼的運(yùn)行結(jié)果。
上一句代碼執(zhí)行結(jié)果影響CPSR的標(biāo)志位
CPSR標(biāo)志位決定條件后綴是否成立
具體如下表格
GT表示 greater than
LT表示 lower than
E表示 equal
N表示 not
條件碼會(huì)緊跟在指令的后面,例如 BEQ表示相等再跳轉(zhuǎn)
GNU匯編中 !
! 表示寄存器自增/自減
因?yàn)闂J窍蛳略鲩L(zhǎng)的。
STMDB SP! {R0-R3} 表示傳輸完一個(gè)數(shù)據(jù)以后,SP指針也會(huì)自減,相當(dāng)于 PUSH {R0-R3}
同理 LDMIA SP! {R0-R3} 相當(dāng)于 POP {R0-R3}
加上感嘆號(hào)以后相當(dāng)于sp的值會(huì)進(jìn)行實(shí)時(shí)更新,不然只是一個(gè)臨時(shí)變量在自加,不會(huì)改變sp指針的值。
換句話(huà)說(shuō),加上感嘆號(hào)代表sp實(shí)時(shí)指向棧頂,但是不加的話(huà),數(shù)據(jù)雖然保存到棧里,但指針還是指向原來(lái)的位置。
pc指針
由于三級(jí)流水線(xiàn)的關(guān)系
pc指向正在被取指的指令
真正被執(zhí)行的指令為pc - 8
arm偽指令與GNU偽指令的區(qū)別
swi
軟中斷指令,軟件模擬中斷用來(lái)實(shí)現(xiàn)操作系統(tǒng)中的系統(tǒng)調(diào)用
中斷向量表有一個(gè)軟中斷入口 編寫(xiě)操作系統(tǒng)的人才會(huì)用到,普通驅(qū)動(dòng)開(kāi)發(fā)基本用不到
mcr 與 mrc 記憶方法
協(xié)處理器操作指令
mrc 是 move to register from cp15 從cp15讀取數(shù)據(jù)
mcr 是 move to cp15 from register 向cp15寫(xiě)入數(shù)據(jù)
這樣記憶起來(lái)就特別容易,不至于弄亂順序
協(xié)處理器
coperation processor或者寫(xiě)成 coprocessor
soC內(nèi)部另一個(gè)處理核心(不需要CPU參與),協(xié)助CPU完成某些功能
ARM設(shè)計(jì)上可以支持16個(gè)協(xié)處理器,但是我們常用的一般soC只實(shí)現(xiàn)其中的cp15(只實(shí)現(xiàn)了這一個(gè))
協(xié)處理器和MMU、cache、TLB(這三個(gè)概念可以查看之前的文章-ARM體系架構(gòu))等處理有關(guān)
偽指令
偽指令編譯以后不生成機(jī)器碼
偽指令與編譯器有關(guān),因?yàn)槲覀兪褂玫氖荊NU工具鏈,所以我們使用GNU偽指令
符號(hào):
@用在行后注釋
以 : 結(jié)尾的是標(biāo)號(hào)
.點(diǎn)號(hào)在GNU匯編中表示當(dāng)前指令地址
# 下面表示一個(gè)死循環(huán)
flag:
b flag
# 下面也表示一個(gè)死循環(huán)
b .
立即數(shù)之前要加上#
GNU匯編偽指令
# 聲明 _start為外部鏈接屬性
.global _start
# 指定當(dāng)前段為代碼段
.section .text
# 數(shù)據(jù)類(lèi)型
.ascii 定義字符
.byte 定義字節(jié)
.short 定義兩個(gè)字節(jié)類(lèi)型數(shù)據(jù),相當(dāng)于c語(yǔ)言中的unsigned short
.word 定義四個(gè)字節(jié)類(lèi)型數(shù)據(jù) 相當(dāng)于c語(yǔ)言中的unsigned int
.quad 定義八個(gè)字節(jié)類(lèi)型數(shù)據(jù)
.float 定義四個(gè)字節(jié)類(lèi)型的數(shù)據(jù) 相當(dāng)于c語(yǔ)言中的float
# 以 2的n次方 進(jìn)行字節(jié)對(duì)齊
.align n
下面表示定義一個(gè)unsigned int 類(lèi)型變量 變量名為 a 變量值為123
a:
.word 123
ldr指令 與 ldr偽指令
ldr指令需要考慮合法立即數(shù)與非法立即數(shù) ldr偽指令不需要考慮立即數(shù)是否合法
ARM指令只有32位,包括指令標(biāo)記等,所以32位不能全部用來(lái)放數(shù)字
所以就有了合法立即數(shù)與非法立即數(shù)的區(qū)別
經(jīng)過(guò)任意位數(shù)移位后非零部分可以用8位表示的稱(chēng)為合法立即數(shù)
但我們使用的ldr 偽指令,他會(huì)自動(dòng)判斷是合法還是非法立即數(shù),如果非法,它會(huì)自動(dòng)轉(zhuǎn)成合法立即數(shù)
偽指令與指令的區(qū)別在于立即數(shù)之前是=還是#
為 = 表示ldr偽指令
為 # 表示ldr指令
所以 99% 的情況下都會(huì)使用偽指令
寄存器改名
匯編語(yǔ)言的時(shí)候直接寫(xiě)這些寄存器的名字就可以
但是芯片廠(chǎng)商也可以自己改變寄存器的名字
方便廠(chǎng)商更加方便的定制
cotex A 系列引入的機(jī)制
四種棧
空棧表示棧頂指針指向最后一個(gè)數(shù)據(jù)的下一個(gè)內(nèi)存位置,相當(dāng)于棧頂指針指向一個(gè)空元素
滿(mǎn)棧表示棧頂指針指向棧頂?shù)淖詈笠粋€(gè)數(shù)據(jù),相當(dāng)于指向一個(gè)元素
增棧 表示棧的增長(zhǎng)是向內(nèi)存地址高的位置進(jìn)行增長(zhǎng)
減棧 表示棧的增長(zhǎng)是向內(nèi)存低的位置進(jìn)行增長(zhǎng)
ARM體系結(jié)構(gòu)正常情況下都是滿(mǎn)減棧
c/c++程序中嵌入?yún)R編
格式: __asm [volatile] {instruction} 限制條件:
不能直接向pc賦值,程序跳轉(zhuǎn)使用b或者bl指令
在使用物理寄存器的時(shí)候,不能使用過(guò)于復(fù)雜的c表達(dá)式,比買(mǎi)你屋里寄存器中途
盡量使用R0-R7通用寄存器
C語(yǔ)言調(diào)用匯編(不常用)
匯編export
c語(yǔ)言定義 extern function
c語(yǔ)言使用
c語(yǔ)言和匯編語(yǔ)言之間傳遞參數(shù)是通過(guò)對(duì)應(yīng)的R0-R3來(lái)傳遞的,即R0第一個(gè)參數(shù),以此類(lèi)推,多于4個(gè)參數(shù)是借助棧完成,函數(shù)返回值通過(guò)R0來(lái)傳遞,這個(gè)規(guī)定叫做ATPCS(ARM Thumb Procedure Call Standard),具體見(jiàn)ATPCS規(guī)范
匯編調(diào)用c語(yǔ)言
c語(yǔ)言實(shí)現(xiàn)函數(shù)
匯編import導(dǎo)入函數(shù)名
bl 函數(shù)名
上一篇:一文看懂a(chǎn)rm架構(gòu)和x86架構(gòu)有什么區(qū)別
下一篇:ARM匯編語(yǔ)言 - 簡(jiǎn)介 [一]
推薦閱讀
史海拾趣
位于廣東東莞的鋒鳴電子有限公司,自2010年成立以來(lái),便明確了自己的市場(chǎng)定位——專(zhuān)注于汽車(chē)電子配件的研發(fā)與生產(chǎn)。隨著汽車(chē)行業(yè)的快速發(fā)展,公司敏銳地捕捉到智能駕駛和車(chē)載娛樂(lè)系統(tǒng)對(duì)高質(zhì)量電聲器件的需求,迅速調(diào)整產(chǎn)品結(jié)構(gòu),推出了一系列符合市場(chǎng)需求的蜂鳴器、揚(yáng)聲器等產(chǎn)品。憑借精準(zhǔn)的市場(chǎng)定位和優(yōu)質(zhì)的產(chǎn)品質(zhì)量,鋒鳴電子在汽車(chē)電子配件領(lǐng)域站穩(wěn)了腳跟。
CET Technology一直以來(lái)都高度重視產(chǎn)品質(zhì)量和技術(shù)研發(fā)。為了保障產(chǎn)品的品質(zhì)和可靠性,公司建立了完善的實(shí)驗(yàn)室體系,包括電磁兼容實(shí)驗(yàn)室、電氣綜合實(shí)驗(yàn)室等多個(gè)專(zhuān)業(yè)實(shí)驗(yàn)室。這些實(shí)驗(yàn)室配備了先進(jìn)的實(shí)驗(yàn)儀器設(shè)備,為公司研發(fā)高品質(zhì)產(chǎn)品提供了有力保障。近期,CET的實(shí)驗(yàn)室成功獲得了CNAS實(shí)驗(yàn)室能力認(rèn)證,這是對(duì)公司技術(shù)實(shí)力和質(zhì)量管理水平的高度認(rèn)可。此次認(rèn)證將進(jìn)一步提升CET在國(guó)際市場(chǎng)上的競(jìng)爭(zhēng)力,為公司未來(lái)的發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
以上就是關(guān)于CET Technology公司在電子行業(yè)中的5個(gè)發(fā)展故事。這些故事展示了CET在技術(shù)創(chuàng)新、業(yè)務(wù)拓展、智慧化轉(zhuǎn)型和品質(zhì)保障等方面的努力和成果,也體現(xiàn)了公司在電子行業(yè)中的領(lǐng)先地位和影響力。
在電子行業(yè)的浪潮中,淩志比高公司由幾位充滿(mǎn)激情的創(chuàng)業(yè)者創(chuàng)立。創(chuàng)業(yè)初期,公司面臨著資金短缺、市場(chǎng)競(jìng)爭(zhēng)激烈等挑戰(zhàn)。然而,憑借對(duì)技術(shù)的深刻理解和敏銳的市場(chǎng)洞察力,淩志比高成功開(kāi)發(fā)出一款具有創(chuàng)新性的電子產(chǎn)品,迅速在市場(chǎng)上獲得了一席之地。
隨著國(guó)內(nèi)市場(chǎng)的逐漸飽和,淩志比高公司開(kāi)始將目光投向海外市場(chǎng)。公司制定了國(guó)際化戰(zhàn)略,積極拓展海外市場(chǎng),與多家國(guó)際知名企業(yè)建立了合作關(guān)系。通過(guò)不斷的市場(chǎng)拓展和品牌推廣,淩志比高逐漸在國(guó)際市場(chǎng)上獲得了認(rèn)可。
在追求經(jīng)濟(jì)效益的同時(shí),淩志比高公司也積極履行社會(huì)責(zé)任。公司注重環(huán)保和可持續(xù)發(fā)展,采用環(huán)保材料和生產(chǎn)工藝,減少對(duì)環(huán)境的影響。此外,淩志比高還積極參與社會(huì)公益事業(yè),為社會(huì)做出貢獻(xiàn)。這種負(fù)責(zé)任的態(tài)度贏(yíng)得了社會(huì)各界的認(rèn)可和尊重。
請(qǐng)注意,以上故事僅為虛構(gòu)示例,并不代表任何真實(shí)公司的實(shí)際情況。如果您對(duì)淩志比高公司有進(jìn)一步的了解需求,建議直接訪(fǎng)問(wèn)其官方網(wǎng)站或查閱相關(guān)新聞報(bào)道以獲取準(zhǔn)確信息。
隨著全球電子制造產(chǎn)業(yè)的不斷發(fā)展,Euroquartz也積極拓展國(guó)際市場(chǎng)。公司憑借其高品質(zhì)的產(chǎn)品和專(zhuān)業(yè)的技術(shù)服務(wù),贏(yíng)得了全球客戶(hù)的信賴(lài)和支持。如今,Euroquartz的產(chǎn)品已經(jīng)覆蓋全球90多個(gè)國(guó)家和地區(qū),為全球電子制造產(chǎn)業(yè)提供了重要的石英晶振、振蕩器、濾波器以及其它頻率相關(guān)產(chǎn)品。
請(qǐng)問(wèn)大家型號(hào)為2407的DSP與一個(gè)四位共陰數(shù)碼管(如GEM5461AE)的硬件電路應(yīng)該怎么連? 中間是否需要接驅(qū)動(dòng)芯片?… 查看全部問(wèn)答∨ |
|
電子設(shè)計(jì)競(jìng)賽系列指導(dǎo)之二--怎么準(zhǔn)備這次競(jìng)賽 本帖最后由 paulhyde 于 2014-9-15 04:00 編輯 … 查看全部問(wèn)答∨ |
“沒(méi)有門(mén)”的微型生態(tài)浴室 你敢用嗎? “沒(méi)有門(mén)”的微型生態(tài)浴室 這個(gè)浴室設(shè)計(jì)的亮點(diǎn)在于他所使用的是真正的植物作為凈化水源的裝置,他利用大自然的過(guò)濾原則,將淋浴與植物之間構(gòu)成了一個(gè)小的生態(tài)系統(tǒng),可以對(duì)廢水進(jìn)行回收和再利用。作為解決偏遠(yuǎn)地區(qū)用水困難的問(wèn)題… 查看全部問(wèn)答∨ |
實(shí)用微分電路對(duì)于高頻信號(hào)檢測(cè)比較敏感,特別適合于檢測(cè)脈沖信號(hào);但對(duì)于低頻信號(hào)微分作用效果就不那么理想。我想請(qǐng)問(wèn)諸位高手,如何精確的實(shí)現(xiàn)對(duì)低頻信號(hào)的微分????(需要檢測(cè)低頻信號(hào)頻率大概是50HZ。)… 查看全部問(wèn)答∨ |
|
求助:從應(yīng)用程序燒寫(xiě)flash問(wèn)題 用的是華恒AT91ARM9200的板子,因?yàn)槌跏荚O(shè)定是需要從uboot下把image燒到板子上,現(xiàn)在希望實(shí)現(xiàn)能從應(yīng)用程序中直接燒寫(xiě),下面是我的代碼。若zImage與通過(guò)uboot燒上板子的image是同一個(gè)的話(huà),執(zhí)行程序后,系統(tǒng)可以啟動(dòng),但若是另一個(gè)image,則執(zhí)行后不 ...… 查看全部問(wèn)答∨ |
如今工業(yè)控制已從單機(jī)控制走向集中監(jiān)控、集散控制,在這個(gè)過(guò)程中網(wǎng)絡(luò)擔(dān)任了相當(dāng)重要的角色。 modbus是現(xiàn)場(chǎng)總線(xiàn)網(wǎng)絡(luò)協(xié)議的一種,正得到越來(lái)越廣范的應(yīng)用。這個(gè)便是modbus協(xié)議的中文手冊(cè)?!? 查看全部問(wèn)答∨ |
【MSP430共享】IAR+kegen++MSP430_V5.3 IAR+kegen++MSP430_V5.3,很常用的軟件,也是430使用率很高的軟件?。。?[ 本帖最后由 鑫海寶貝 于 2011-10-12 09:37 編輯 ]… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 【下載】LAT1526 利用SPI的下溢實(shí)現(xiàn)回顯功能
- 【下載】LAT1509 STM32G0B1的FDCAN進(jìn)行通信丟包和多包案例分享
- 【下載】LAT1511 運(yùn)行Ux_Host_HUB_HID_MSC通過(guò)Hub連接U盤(pán)讀寫(xiě)不穩(wěn)定問(wèn)題分析
- 【下載】LAT1466 USB x Device HID Standalone的移植
- 【下載】LAT1488 STM32 USBxDevice MSC standalone移植示例
- 【下載】LAT1482 STM32G0單線(xiàn)串口通信幀錯(cuò)誤問(wèn)題解析
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線(xiàn) 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無(wú)線(xiàn)微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開(kāi)發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹(shù)莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁(yè)和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- 上汽大眾:汽車(chē)網(wǎng)絡(luò)安全漏洞防護(hù)
- 恩智浦推出全新電池控制IC系列 助力新能源解決方案發(fā)展
- 全球首條GWh級(jí)新型固態(tài)電池生產(chǎn)線(xiàn)樣件下線(xiàn)
- 總投資455億元!三大動(dòng)力電池項(xiàng)目齊刷進(jìn)度條
- 現(xiàn)代汽車(chē)韓國(guó)建氫燃料電池廠(chǎng),2028年投產(chǎn)
- 6月融資一覽:智能汽車(chē)芯片、第三代半導(dǎo)體、機(jī)器人成資本焦點(diǎn)
- 艙駕一體“點(diǎn)燃”新戰(zhàn)事
- 汽車(chē)智能化2.0引爆「萬(wàn)億蛋糕」,誰(shuí)在改寫(xiě)游戲規(guī)則?
- 2025研華智能系統(tǒng)產(chǎn)業(yè)伙伴峰會(huì)成功舉辦
- 意法半導(dǎo)體公布2025年第二季度財(cái)報(bào)和電話(huà)會(huì)議時(shí)間安排
- TI C2000精品課暑期伴你行 學(xué)習(xí)好禮送不停
- 剁手不如玩板,這個(gè)雙11免費(fèi)好板等你來(lái)玩!
- 詳述項(xiàng)目申請(qǐng),可獲 TI Stellaris開(kāi)發(fā)板!
- Maxim 利用nanoPower創(chuàng)新技術(shù),致力于降低系統(tǒng)的靜態(tài)功耗 看視頻答題贏(yíng)好禮! 還有免費(fèi)開(kāi)發(fā)板等你拿
- 泰克完整LED驅(qū)動(dòng)測(cè)試方案 領(lǐng)跑節(jié)能亮化新時(shí)代
- 有獎(jiǎng)學(xué)習(xí) | 探索泰克 4 系列 BMSO 強(qiáng)大功能,還能參與“疊疊樂(lè)”省錢(qián)大作戰(zhàn)!
- 分享你的國(guó)賽經(jīng)驗(yàn),還有好禮相送!
- Telechips選擇PowerVR GPU開(kāi)發(fā)車(chē)用芯片
- 華為5G+C-V2X車(chē)載通信技術(shù)被評(píng)為全球新能源汽車(chē)創(chuàng)新技術(shù)
- 智聯(lián)5G,共創(chuàng)未來(lái)—羅德與施瓦茨公司精彩亮相2019 MWC上海
- Nordic nRF9160 SiP已通過(guò)終端產(chǎn)品部署所需的全部主要認(rèn)證
- 上海汽檢攜手羅德與施瓦茨成功舉辦聯(lián)合實(shí)驗(yàn)室簽約儀式
- 建設(shè)泛在電力物聯(lián)網(wǎng) 賦予抽水蓄能產(chǎn)業(yè)新動(dòng)能
- Internet of Energy—從智能電網(wǎng)到能源物聯(lián)網(wǎng)的實(shí)踐之路
- 智慧能源時(shí)代正呼嘯而來(lái) 能源互聯(lián)網(wǎng)建設(shè)面臨安全挑戰(zhàn)
- 泛在電力物聯(lián)網(wǎng)——數(shù)據(jù)科學(xué)的春天
- 深入Facebook全新機(jī)器人實(shí)驗(yàn)室 AI和機(jī)器共織未來(lái)
- 老調(diào)重談; 成就高薪的細(xì)節(jié)
- 請(qǐng)問(wèn)那個(gè)F5529開(kāi)發(fā)板的仿真部分和LaunchPad等有不同么?
- DLP微投DPP2607+TVP5150
- CCS2.2編譯出現(xiàn)了錯(cuò)誤,不知怎么解決
- PCB設(shè)計(jì)之噴錫、鍍金和沉金
- DS18B20問(wèn)題
- 無(wú)法進(jìn)入系統(tǒng)和BIOS
- 腦子卡了...就兩句代碼的報(bào)錯(cuò)
- 絕對(duì)完整的 Usb ISP 的下載線(xiàn)制做過(guò)程和資料!!!!
- MSP430FR5969無(wú)法進(jìn)入低功耗模式