91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是字節(jié)序?字節(jié)序重要嗎?

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Colin Walls ? 2022-06-29 15:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

那是 1981 年(是的——將近 40 年前?。?,我們正在構(gòu)建一個(gè)系統(tǒng),其中包含一個(gè) DEC PDP-11 小型計(jì)算機(jī),該小型計(jì)算機(jī)通過共享內(nèi)存與德克薩斯 TMS990 微處理器接口。這些都是 16 位處理器,所以我們將數(shù)據(jù)作為字傳遞。但是發(fā)生了一些奇怪的事情:一個(gè) CPU 會(huì)將一個(gè)值寫入共享內(nèi)存的一個(gè)字中,但是當(dāng)另一個(gè) CPU 讀出它時(shí),字節(jié)被交換了。解決這個(gè)問題很簡(jiǎn)單:只需在一側(cè)編寫一個(gè)簡(jiǎn)單的訪問例程來交換字節(jié)并確保它始終用于訪問共享內(nèi)存。直到后來才知道為什么會(huì)出現(xiàn)這個(gè)問題。

在幾乎所有現(xiàn)代嵌入式系統(tǒng)中,內(nèi)存都是按字節(jié)組織的。但是,CPU 也可以將數(shù)據(jù)處理為 16 位或 32 位字。在這種情況下,需要決定如何將字中的字節(jié)存儲(chǔ)在內(nèi)存中。有兩個(gè)明顯的選項(xiàng)和許多其他變體。描述此字節(jié)順序的屬性稱為“字節(jié)順序”(或有時(shí)稱為“字節(jié)順序”)。

兩種常見的字節(jié)序形式是:最低有效字節(jié)存儲(chǔ)在最低地址(“l(fā)ittle-endian”)和最高有效字節(jié)存儲(chǔ)在最低地址(“big-endian”)。字節(jié)順序還有其他變化,甚至還有存儲(chǔ)位的可能性。

廣義上講,使用的字節(jié)序是由 CPU 決定的。由于有多種選擇,因此不同的半導(dǎo)體供應(yīng)商為其 CPU 選擇不同的字節(jié)序也就不足為奇了。英特爾 CPU 傳統(tǒng)上是小端的。飛思卡爾傾向于支持大端。大多數(shù)現(xiàn)代 CPU 的字節(jié)序可以在軟件中交換。

嵌入式軟件工程師的角度來看,問題是“字節(jié)序重要嗎?” 并且,“如果有,多少錢?”

當(dāng)軟件開發(fā)人員需要考慮字節(jié)順序時(shí),大致有兩種情況:

通過通信鏈路或網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)

在軟件中以多種表示形式處理的數(shù)據(jù)

前一種情況非常簡(jiǎn)單——只需遵循或定義協(xié)議即可。后者更棘手,需要一些思考。

考慮這段代碼:

unsigned int n = 0x0a0b0c0d;

unsigned char c, d, *p;

c = (unsigned char) n;

p = (unsigned char *) &n;

d = *p;

c和d最后會(huì)包含什么值?無論字節(jié)順序如何,c 都應(yīng)該包含值 0x0 d。但是,d的值將取決于字節(jié)序。在小端系統(tǒng)上d 將包含 0x0 d;在 big-endian 上,它將具有值0x0a。如果要在n 和unsigned char a之間進(jìn)行聯(lián)合,則會(huì)觀察到同樣的效果。

那么,這有關(guān)系嗎?這么多年前,這對(duì)我很重要!但是,請(qǐng)注意,大多數(shù)代碼可能會(huì)獨(dú)立于字節(jié)順序而編寫,我認(rèn)為幾乎所有編寫良好的代碼都是這樣的。但是,如果您確實(shí)像我需要的那樣構(gòu)建了字節(jié)順序依賴項(xiàng),那么良好的文檔和注釋是必不可少的。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    20255

    瀏覽量

    252320
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11279

    瀏覽量

    225013
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    看手冊(cè),9600以下可以直接喚醒,是不丟字節(jié)嗎?

    看手冊(cè),9600以下可以直接喚醒,是不丟字節(jié)嗎? 9600以上,需要使用高速時(shí)鐘,這時(shí)需要GPIO中斷喚醒,這樣的時(shí)候會(huì)丟第一個(gè)字節(jié)嗎?怎么處理呀
    發(fā)表于 01-30 07:58

    惠倫晶體助力字節(jié)豆包AI眼鏡新體驗(yàn)

    近日,行業(yè)備受矚目的“豆包”AI眼鏡發(fā)布新動(dòng)態(tài),這款由字節(jié)跳動(dòng)與龍旗科技聯(lián)合研發(fā)的眼鏡,搭載自研空間算法芯片,整體重量不足50克,展示了AI眼鏡發(fā)展的新方向。
    的頭像 發(fā)表于 01-09 11:23 ?642次閱讀
    惠倫晶體助力<b class='flag-5'>字節(jié)</b>豆包AI眼鏡新體驗(yàn)

    探索TL16C752D:具有64字節(jié)FIFO的雙路UART的卓越性能與應(yīng)用

    探索TL16C752D:具有64字節(jié)FIFO的雙路UART的卓越性能與應(yīng)用 在電子設(shè)計(jì)的廣闊領(lǐng)域中,UART(通用異步收發(fā)器)作為實(shí)現(xiàn)串行通信的關(guān)鍵組件,一直扮演著重要角色。今天,我們將深入探討TI
    的頭像 發(fā)表于 12-19 11:50 ?687次閱讀

    為什么會(huì)有小端字節(jié)序

    答案是,計(jì)算機(jī)電路先處理低位字節(jié),效率比較高,因?yàn)橛?jì)算都是從低位開始的。所以,計(jì)算機(jī)的內(nèi)部處理都是小端字節(jié)序。 但是,人類還是習(xí)慣讀寫大端字節(jié)序。所以,除了計(jì)算機(jī)的內(nèi)部處理,其他的場(chǎng)合幾乎都是大端
    發(fā)表于 12-15 06:24

    網(wǎng)絡(luò)通訊的結(jié)構(gòu)及地址

    { sa_family_tsin_family;// 地址族:必須為AF_INET(IPv4) in_port_t sin_port;// 端口號(hào)(網(wǎng)絡(luò)字節(jié)序) struct in_addrsin_addr;// IP地址(網(wǎng)絡(luò)字節(jié)序
    發(fā)表于 11-17 07:59

    DBC解析:信號(hào)位置與物理值計(jì)算

    起始位、位數(shù)和字節(jié)序定義。在案例中,發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)的起始位是24,位數(shù)是16,摩托羅拉的字節(jié)序是24。因此,在收到的原始CAN(FD)報(bào)文的64位數(shù)據(jù)中,在摩托羅
    的頭像 發(fā)表于 10-31 11:37 ?460次閱讀
    DBC解析:信號(hào)位置與物理值計(jì)算

    TC334 uart dma發(fā)送數(shù)據(jù)時(shí),只能發(fā)送17個(gè)字節(jié),怎么解決?

    具體情況:配置串口發(fā)送,具體配置情況如下,對(duì)于17字節(jié)內(nèi)的數(shù)據(jù)包能夠正常發(fā)送,大于17字節(jié)的數(shù)據(jù)包只能發(fā)送前17字節(jié)。(已做好字節(jié)對(duì)齊) 請(qǐng)問各位大佬應(yīng)該怎么解決。
    發(fā)表于 08-04 07:18

    USB3014遇到寫入字節(jié)限制,當(dāng)寫入數(shù)據(jù)的長(zhǎng)度為1024字節(jié)或其整數(shù)倍時(shí),無法完成寫入操作怎么解決?

    關(guān)于 USB3014 寫入 1024 字節(jié)或其整數(shù)倍的問題,我了解到以下信息: 文檔中提到,如果外部主設(shè)備始終寫入滿數(shù)據(jù)包(如 1024 字節(jié)或其整數(shù)倍),則無需使用 PKTEND# 信號(hào)
    發(fā)表于 07-28 08:28

    STM32407使用串口閑時(shí)中斷+DMA方式接收最大接收字節(jié)是多少?

    使用串口閑時(shí)中斷+DMA方式接收數(shù)據(jù),波特率為460800,DMA接收長(zhǎng)度為1024個(gè)字節(jié),并開啟串口閑時(shí)中斷,當(dāng)上位機(jī)一次發(fā)送520個(gè)字節(jié),我發(fā)現(xiàn)串口產(chǎn)生了兩次中斷,第一次接收的最大字節(jié)為272
    發(fā)表于 07-22 08:16

    LC87F0K08A 8位微控制器8K字節(jié)閃存ROM/384字節(jié)RAM規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《LC87F0K08A 8位微控制器8K字節(jié)閃存ROM/384字節(jié)RAM規(guī)格書.pdf》資料免費(fèi)下載
    發(fā)表于 07-17 15:33 ?0次下載

    usb3014不能寫入1024字節(jié)的原因?

    Hi,各位專家你們好! 在調(diào)試usb3014的時(shí)候,遇到了一個(gè)問題,F(xiàn)PGA不能寫入1024字節(jié)的數(shù)據(jù)(或者1024字節(jié)的整數(shù)倍數(shù)據(jù))到FX3,(我設(shè)置DMA buffer大小是1024),按理說
    發(fā)表于 07-16 06:52

    開疆智能EtherCAT轉(zhuǎn)CANopen網(wǎng)關(guān)連接UV燈配置案例

    一側(cè)波特率,和從站保持一致(如需使用同步周期需要將通訊周期設(shè)定一個(gè)數(shù)值) 設(shè)置網(wǎng)關(guān)的字節(jié)序,下載IP以及掉線后網(wǎng)關(guān)的數(shù)據(jù)處理方式。 完成后點(diǎn)擊設(shè)備
    的頭像 發(fā)表于 07-13 11:28 ?587次閱讀
    開疆智能EtherCAT轉(zhuǎn)CANopen網(wǎng)關(guān)連接UV燈配置案例

    機(jī)智云亮相字節(jié)豆包AIoT開源生態(tài)沙龍

    近日,字節(jié)跳動(dòng)火山引擎2025原動(dòng)力大會(huì)在北京隆重召開,同期由機(jī)智云、火山引擎、扣子發(fā)起,聯(lián)合CSDN、GitCode、廣和通、奕斯偉、愛灣學(xué)院共同參與的“開源智聯(lián)·具身同行”字節(jié)豆包AIoT開源
    的頭像 發(fā)表于 06-16 09:50 ?1005次閱讀

    賽思×火山引擎 | 高精度同步時(shí)鐘助力字節(jié)跳動(dòng)華東地區(qū)首個(gè)算力中心落地

    賽思同步時(shí)鐘全方位賦能火山引擎長(zhǎng)三角算力中心,助力字節(jié)跳動(dòng)火山引擎打造“云上新宇宙”。
    的頭像 發(fā)表于 03-31 14:44 ?1124次閱讀
    賽思×火山引擎 | 高精度同步時(shí)鐘助力<b class='flag-5'>字節(jié)</b>跳動(dòng)華東地區(qū)首個(gè)算力中心落地

    賽思×字節(jié)跳動(dòng) 高精度同步時(shí)鐘助力火山引擎打造“云上新宇宙”

    摘要: 賽思同步時(shí)鐘將對(duì)火山引擎長(zhǎng)三角算力中心進(jìn)行從基礎(chǔ)設(shè)施到業(yè)務(wù)引擎的全方位賦能,助力字節(jié)跳動(dòng)旗下火山引擎打造“云上新宇宙”。 火山引擎長(zhǎng)三角算力中心 — 蕪湖“東數(shù)西算”數(shù)據(jù)集群重點(diǎn)項(xiàng)目 火山云
    的頭像 發(fā)表于 03-28 09:11 ?883次閱讀
    賽思×<b class='flag-5'>字節(jié)</b>跳動(dòng)  高精度同步時(shí)鐘助力火山引擎打造“云上新宇宙”