C語言中要表達(dá)一個(gè)字節(jié)數(shù)據(jù)序列(內(nèi)存中連續(xù)存儲(chǔ)的若干個(gè)字節(jié)),我們可以使用字節(jié)數(shù)組,如unsigned char array[10]={0,1,2,3,4,5,6,7,8,9}。其實(shí)字符串,本質(zhì)上也是一個(gè)字節(jié)序列,但是通常情況下它所存儲(chǔ)的字節(jié)的值均為ASCII中可打印字符的碼值,如’A’、’ ‘、’|’等。那在字符串中是否也可以出現(xiàn)其它的值呢?這樣,我們就可以用字符串的形式來表達(dá)一個(gè)字節(jié)序列了。很多時(shí)候,它可能比字節(jié)數(shù)組要方便一些。字符串中的轉(zhuǎn)義符就是用來干這個(gè)的。請(qǐng)看如下程序:
字符串是C語言中最基礎(chǔ)的概念,也是最常被用到的。在嵌入式開發(fā)中,我們經(jīng)常要將一些字符串通過串口顯示到串口助手或調(diào)試終端上,作為信息提示,以便讓我們了解程序的運(yùn)行情況;或者是將一些常量的值轉(zhuǎn)為字符串,來顯示到液晶等顯示設(shè)備上。
中斷機(jī)制在單片機(jī)及嵌入式系統(tǒng)中是重中之重,我們必須深入理解。首先我們要明白一點(diǎn):CPU執(zhí)行指令代碼,并非一直順序地逐條執(zhí)行,而是可能突然跳到某段代碼上去的。因?yàn)檫@段代碼的優(yōu)先級(jí)更高,或者說它更加緊迫,CPU必須暫時(shí)放下手上的的工作,立即去執(zhí)行它,否則就可能導(dǎo)致不良的后果,甚至是嚴(yán)重的事故。這個(gè)“突然跳轉(zhuǎn)”有時(shí)是可以人為預(yù)見的,或者是設(shè)計(jì)人員故意使然,但有些時(shí)候卻是隨機(jī)的,無法事先斷定它發(fā)生的具體時(shí)間。這就是“中斷”最為通俗的表述,如圖1.22所示。
將“二進(jìn)制”單獨(dú)拿出來作為一節(jié)來講,是因?yàn)樗且粋€(gè)極為基礎(chǔ)的概念。但是很多人對(duì)二進(jìn)制并沒有形象的認(rèn)識(shí),甚至有一些已經(jīng)入門、稍有開發(fā)經(jīng)驗(yàn)的人對(duì)它的理解仍然比較模糊。所以振南認(rèn)為有必要將它以一種更為形象、通俗而又深刻的方式著重來進(jìn)行闡述,以便給我們以后的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
通用MCU的成功與否,產(chǎn)品本身PPA固然重要,但除此外很大程度上取決于開發(fā)生態(tài)。生態(tài)的繁榮可以讓其中的每一位參與者受益,當(dāng)然也會(huì)反哺到MCU產(chǎn)品本身,影響到新的產(chǎn)品定義和走向。
好,有了CPU、存儲(chǔ)器、總線以及外設(shè),我們把它們有機(jī)地組合封裝在一起,再把各個(gè)外設(shè)、總線的信號(hào),以及供電和地通過引腳引出來,這就是一片完整的單片機(jī)芯片。等等,要讓單片機(jī)跑起來似乎還少了些什么?對(duì),還有時(shí)鐘!
我們已經(jīng)知道了CPU如何通過總線進(jìn)行存儲(chǔ)器的讀寫,也知道地址總線的寬度決定了CPU的尋址空間,數(shù)據(jù)總線的寬度則決定了CPU的位數(shù)(單次能夠讀寫的數(shù)據(jù)量),而控制總線在一定程度上影響了訪存的速度(WR與RD為0的時(shí)間越短,訪存速度越快,當(dāng)然也要存儲(chǔ)器速度跟得上才行)。有了CPU和存儲(chǔ)器,以及連接它們的總線,這就足以構(gòu)成一個(gè)完整的、可正常運(yùn)行的計(jì)算機(jī)系統(tǒng)。
7月3日,商務(wù)部與海關(guān)總署發(fā)布公告,決定自2023年8月1日起,依據(jù)相關(guān)法律,對(duì)鎵、鍺兩種關(guān)鍵金屬實(shí)行出口管制。這一舉措被視作對(duì)美國(guó)在半導(dǎo)體領(lǐng)域打壓中國(guó)的一種有力回應(yīng)!
有移動(dòng)計(jì)算的地方,就有Arm的存在。而Arm架構(gòu)不斷創(chuàng)新也與移動(dòng)計(jì)算的需求發(fā)展緊密綁定在了一起。近年來,計(jì)算需求變得日益復(fù)雜,Arm也從2021年開始推出全面計(jì)算解決方案(TCS:Total Compute Solutions)。通過一整套專為無縫協(xié)同工作而設(shè)計(jì)的IP組合,Arm TCS極大地降低了SoC設(shè)計(jì)復(fù)雜度,幫助SoC設(shè)計(jì)者將計(jì)算性能進(jìn)一步提高。
步步緊逼的禁運(yùn)究竟對(duì)中國(guó)產(chǎn)生多大的影響?我們應(yīng)該如何突破重重封鎖實(shí)現(xiàn)形成半導(dǎo)體產(chǎn)業(yè)競(jìng)爭(zhēng)優(yōu)勢(shì)?聽聽來自Gartner研究副總裁盛陵海(Roger Sheng)先生的專業(yè)見解。
瑞薩電子在汽車電氣化、智能化方面的布局。
如果把CPU看作“帝都”,存儲(chǔ)器看作是“衛(wèi)城”,它們之間要互通往來,就必然要修建道路,而這條道路又可以不斷延伸分支,將很多城市串連起來。這樣,城市兩兩之間便均可通行。這條“道路”就是總線!如圖1.11所示。(這些被串連起來的“城市”就猶如振南后面要講到的“CPU外設(shè)”)。
存儲(chǔ)器對(duì)于整個(gè)計(jì)算機(jī)系統(tǒng)來說是至關(guān)重要的:供CPU執(zhí)行的程序指令、程序運(yùn)行過程中的變量和數(shù)據(jù)……,它們都要以存儲(chǔ)器作為載體。所以在實(shí)際的應(yīng)用和開發(fā)中,人們總是希望單片機(jī)芯片的RAM和ROM容量能盡量大一些。這樣就可以存儲(chǔ)更多的代碼指令,運(yùn)行規(guī)模更大更為復(fù)雜的程序。另外,存儲(chǔ)器本身的讀寫速度也就成為了CPU性能的最大瓶頸之一。更為形象的描述如圖1.9所示。
下面振南要介紹的是“單片機(jī)的體系架構(gòu)模型”,是超脫于任何一種具體型號(hào)的單片機(jī)芯片之上的(我感覺我要成仙),它具有很強(qiáng)的普適性。幾乎所有的單片機(jī),或是ARM、DSP以及更為高端的處理器都遵循這一模型?;蛘哒f,這一模型中的幾大要素是必需的。
當(dāng)?shù)貢r(shí)間6月30日,荷蘭政府正式頒布了有關(guān)先進(jìn)半導(dǎo)體設(shè)備的額外出口管制的新條例。光刻機(jī)巨頭ASML表示,新規(guī)只涉及部分最新的DUV型號(hào),包括TWINSCAN NXT:2000i以及后續(xù)推出的浸潤(rùn)式光刻系統(tǒng)。