国内精品久久久久_亚洲区手机在线中文无码播放_国内精品久久久久影院一蜜桃_日韩内射激情视频在线播放免费

      嵌入式驅(qū)動開發(fā)百科?

      時間:2024-11-30 04:54 人氣:0 編輯:招聘街

      一、嵌入式驅(qū)動開發(fā)百科?

      在嵌入式產(chǎn)品的設(shè)計、開發(fā)過程中,首先需要硬件的支持,絕大多數(shù)的嵌入式硬件都需某種類型的軟件來初始化和管理,該類軟件直接與硬件相接口并控制著硬件,以便很好的與硬件相協(xié)同,完成相關(guān)功能。總而言之,驅(qū)動程序是初始化硬件的軟件庫,管理來自上層軟件對硬件的訪問。是硬件和操作系統(tǒng)、中間件和應(yīng)用層之間的連接關(guān)鍵。在嵌入軟件開發(fā)中有著不可替代的地位。

      首先一點,驅(qū)動程序是由程序設(shè)計人員設(shè)計開發(fā),由于存在多方面的問題,驅(qū)動程序的開發(fā)面臨許多挑戰(zhàn)。具體挑戰(zhàn)如下:

      (1)市面上硬件類型很多,不同類型的硬件有著不同的設(shè)備驅(qū)動需求。使得驅(qū)動程序開發(fā)需求較多,加上驅(qū)動程序開發(fā)的繁瑣、復(fù)雜性,給開發(fā)人員增加了開發(fā)難度。

      (2)設(shè)備驅(qū)動程序通常被認(rèn)為是面向特定體系結(jié)構(gòu),要不它就是通用的。在這一點上,開發(fā)的驅(qū)動代碼不可能完全相同,針對不同的體系結(jié)構(gòu),不同的板載硬件,都需要進(jìn)行相關(guān)的配置或者增減部分代碼,才能使驅(qū)動程序適用于具體環(huán)境。加上硬件的多樣性,使得驅(qū)動開發(fā)人員需要編寫設(shè)計更多的代碼來進(jìn)行功能完善,才能在特定的環(huán)境下使用驅(qū)動程序。

      二、嵌入式驅(qū)動開發(fā)需要哪些知識?

      嵌入式驅(qū)動開發(fā)需要掌握C語言、匯編語言、操作系統(tǒng)原理、硬件電路原理等知識。同時,還需要了解各種外設(shè)的驅(qū)動原理和操作方法,熟悉各種通訊協(xié)議如SPI、I2C、UART等。在實際開發(fā)中需要注意代碼的可移植性、可靠性和效率。能夠熟練使用調(diào)試工具進(jìn)行調(diào)試和優(yōu)化,提高開發(fā)效率和代碼質(zhì)量。

      三、初學(xué)者如何學(xué)習(xí)開發(fā)嵌入式Linux/Android設(shè)備的驅(qū)動?

      書接上文,上文提到在獲取內(nèi)核device中可以參考本PWM實現(xiàn)。

      PWM設(shè)備也是內(nèi)核中一個標(biāo)準(zhǔn)的 平臺設(shè)備,我們使用PWM來實現(xiàn)風(fēng)扇控,本章在介紹pwm設(shè)備之前我們先介紹一下內(nèi)核設(shè)備樹中的aliases節(jié)點。

      顧名思義,aliases 重命名,內(nèi)核設(shè)備樹提供給我們的driver設(shè)備驅(qū)動一個統(tǒng)一的管理方式,可以將我們的設(shè)備驅(qū)動全部掛載在aliases鏈表中,本人不才,未領(lǐng)會到其中的高深用法,我覺得這個aliases 設(shè)備節(jié)點最常見的用法就是 get id。

      比較核心的兩個函數(shù)如下:

      extern void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align));
      extern int of_alias_get_id(struct device_node *np, const char *stem);

      一個是掃描全部的aliases節(jié)點,另一個是通過device_node和名稱,獲取aliases節(jié)點后面的序號。

      具體代碼有興趣的朋友可以看:drivers/of/base.c中該函數(shù)的實現(xiàn)。

      我們本次使用pwm,為什么要先介紹 aliases節(jié)點呢?

      在驅(qū)動開發(fā)過程,閱讀pwm內(nèi)核源碼,我們發(fā)現(xiàn),pwm的控制接口pwm_apply_state所需要的句柄為:pwm_device,那么我們的核心目的是不是就是如何獲取 pwm_device,如果我們拿到了 pwm_device,那么也就掌握了 內(nèi)核中的pwm外設(shè)。

      內(nèi)核中獲取 pwm_device的標(biāo)準(zhǔn)接口為:

      struct pwm_device *pwm_request(int pwm_id, const char *label)

      所需要的參數(shù)也很簡單,一個id號,和一個 label, label就是設(shè)備名稱。

      能解決問題嗎?當(dāng)然可以,使用這個接口可以直接從內(nèi)核中拿到pwm_device,但是這個id有一個問題,就是這個id會隨著我們使能的pwm數(shù)量而改變。加入我們chip上目前又12路pwm,我們使能 8, 9, 10 三路,那么此時內(nèi)核中會生成三個pwm節(jié)點,他們的編號是 0 ,1,2,對應(yīng)的就是8, 9,10。

      這樣就會存在問題,我們傳進(jìn)去的id號,可能非我們真正使用的id,當(dāng)有一天我又使能了pwm8,那么所有的號都需要依次加一,非常不人性化。

      但是內(nèi)核設(shè)備樹中,所聲明的pwm號,在驅(qū)動中request時卻是真正的pwm號,那么這塊是 怎么綁定且轉(zhuǎn)換的呢?

      可以發(fā)現(xiàn),內(nèi)核中使用的接口是,在dts中表示后,內(nèi)核中使用的接口是:

      static inline struct pwm_device *devm_of_pwm_get(struct device *dev,
      						 struct device_node *np,
      						 const char *con_id)
      {
      	return ERR_PTR(-ENODEV);
      }
      

      通過查看源碼可以發(fā)現(xiàn),在dts中進(jìn)行設(shè)備注冊后會動態(tài)與device綁定在一起。

      那么我們思路就來了,返回去找,根據(jù)id找到 device_node,再根據(jù)device_node 就可以在pwm中找到pwm_chip了,然后順手取一下里面的id(內(nèi)核中的id),再使用標(biāo)準(zhǔn)的pwm_request接口申請就好了。

      代碼如下:

      typedef void* pwm_handle;
      pwm_handle pwm_init(int pwm_channal, const char *label)
      {
          int ret  = 0;
          pwm_handle handle;
          int kernel_idex;
          struct pwm_device* pwm = NULL;
          struct device_node* node = NULL;
          /* 根據(jù)通道號在內(nèi)核中查找當(dāng)前注冊的 device_node */
          node = of_alias_get_device_node(pwm_channal, "pwm");        /* todo:不添加到內(nèi)核 平臺相關(guān)層添加一個 .h */
          if (node == NULL) {
              printk("%s Faild not get alias device node, Please check dts have pwm for alias\n");
              return NULL;
          }
          /* 根據(jù)查找到根據(jù)查找到的device node 從pwm全局中查找注冊的pwm_chip */
          struct pwm_chip *node_pwm_chip = of_node_to_pwmchip(node);  /*  使用 pwm->pwm 重新request一次 */
          if (node_pwm_chip == NULL) {
              printk("%s Faild not get pwm_chip, Please check enable pwm from dts\n");
              return NULL;
          }
          /* 利用上步驟查找到的 pwm_chip 拿到可以使用的 pwm_device */
          pwm = node_pwm_chip->pwms;
          /* 通過pwm_device 中的 pwm參數(shù),可以拿到當(dāng)前device在kernel中的通道號 */
          kernel_idex = pwm->pwm;
          pwm = pwm_request(kernel_idex, label);
      	if (IS_ERR(pwm)) {
      		ret = PTR_ERR(pwm);
      		if (ret != -EPROBE_DEFER)
      			printk("Could not get PWM: %d\n", ret);
      		return NULL;
      	}
          handle = pwm;
          return handle;
      }
      

      有些同學(xué)看到代碼就要問了,內(nèi)核中沒又這個接口啊?of_alias_get_device_node

      沒錯,上面手的aliases節(jié)點,中并沒有這個接口,我們可以模仿獲取id的方法來獲取device_node嘛

      代碼如下:

      struct device_node *of_alias_get_device_node(int id, const char *stem)
      {
      	struct alias_prop *app;
      	struct device_node *node;
      	mutex_lock(&of_mutex);
      	list_for_each_entry(app, &aliases_lookup, link) {
      		if (strcmp(app->stem, stem) != 0)
      			continue;
      		
      		if (id == app->id) {
      			node = app->np;
      			break;
      		}
      	}
      	mutex_unlock(&of_mutex);
      	return node;
      }
      

      至此,我們就得到了 我們夢寐以求的 pwm_device.

      直接上控制接口:

      typedef struct
      {
          int pwm_id;  //pwm通道號
          int period;  //pwm周期
          int duty;  //pwm占空比
          int polity;  //pwm極性
          int enable;  //使能狀態(tài)
          void *prsv;  //保留
          uint32_t rsv;  //保留
      }pwm_cfg;
      
      int pwm_ctrl(pwm_handle handle, pwm_cfg* state)
      {
          int ret = 0;
          struct pwm_device *pwm;
          struct pwm_state ofstate;
          if (handle == NULL) {
              printk("%s: input handle is NULL\n", __FUNCTION__);
              ret = -ENOMEM;
          }
          pwm = (struct pwm_device*)handle;
      
          ofstate.duty_cycle = state->duty;
          ofstate.period = state->period;
          ofstate.polarity = state->polity;
          if(state->enable)
              ofstate.enabled = true;
          else
              ofstate.enabled = false;
          ret = pwm_apply_state(pwm, &ofstate);
          return ret;
      }

      四、嵌入式驅(qū)動開發(fā)就業(yè)前景怎么樣?

      嵌入式驅(qū)動開發(fā)是嵌入式系統(tǒng)領(lǐng)域的重要分支之一,隨著嵌入式技術(shù)的不斷發(fā)展,嵌入式驅(qū)動開發(fā)的就業(yè)前景也越來越廣闊。以下是嵌入式驅(qū)動開發(fā)就業(yè)前景的幾個方面:

      嵌入式系統(tǒng)市場需求大:隨著物聯(lián)網(wǎng)、智能家居、智能交通等領(lǐng)域的不斷發(fā)展,嵌入式系統(tǒng)市場需求不斷增加,對嵌入式驅(qū)動開發(fā)人才的需求也越來越大。

      技術(shù)門檻高:嵌入式驅(qū)動開發(fā)需要掌握底層硬件知識、操作系統(tǒng)原理、編程語言等多方面技術(shù),技術(shù)門檻較高,因此具備這方面技能的人才相對較少,市場需求與供給之間存在一定的差距。

      薪資待遇優(yōu):由于技術(shù)門檻高,嵌入式驅(qū)動開發(fā)人才相對較少,因此在薪資待遇方面相對較優(yōu)。

      發(fā)展前景廣:嵌入式驅(qū)動開發(fā)人才可以在多個領(lǐng)域進(jìn)行應(yīng)用,如智能家居、智能交通、醫(yī)療設(shè)備、工業(yè)自動化等領(lǐng)域,發(fā)展前景廣闊。

      總之,嵌入式驅(qū)動開發(fā)是一個具有廣闊就業(yè)前景的領(lǐng)域,對于有相關(guān)技能和經(jīng)驗的人才來說,將會有很多的就業(yè)機(jī)會。

      五、嵌入式系統(tǒng),驅(qū)動開發(fā)需要掌握什么知識?

       嵌入式系統(tǒng)驅(qū)動開發(fā)需要掌握以下知識:

      1. 嵌入式系統(tǒng)基本概念:了解嵌入式系統(tǒng)的定義、特點、應(yīng)用領(lǐng)域和基本原理,為驅(qū)動開發(fā)打下基礎(chǔ)。

      2. 硬件知識:熟悉常見的嵌入式處理器(如 ARM、MIPS 等)及其架構(gòu)、接口(如 LCD、觸摸屏、存儲器、串口等)和外圍設(shè)備工作原理。

      3. 嵌入式操作系統(tǒng):了解嵌入式操作系統(tǒng)的原理和結(jié)構(gòu),如 Linux、RTOS 等,掌握其內(nèi)核機(jī)制、進(jìn)程管理、內(nèi)存管理、中斷處理等。

      4. 驅(qū)動開發(fā)基本原理:學(xué)習(xí)驅(qū)動開發(fā)的基本概念、方法和技巧,如設(shè)備樹、平臺驅(qū)動、字符設(shè)備驅(qū)動、塊設(shè)備驅(qū)動等。

      5. 驅(qū)動編程技巧:掌握驅(qū)動程序的編寫方法,包括初始化、操作、中斷處理、電源管理等功能實現(xiàn)。

      6. 設(shè)備驅(qū)動調(diào)試:學(xué)會使用調(diào)試工具(如示波器、邏輯分析儀等)對驅(qū)動程序進(jìn)行調(diào)試和優(yōu)化。

      7. 嵌入式軟件開發(fā)流程:了解嵌入式軟件開發(fā)的基本流程,包括需求分析、設(shè)計、編碼、調(diào)試、測試等。

      8. Makefile 編寫:學(xué)會編寫簡單的 Makefile,以便于管理和構(gòu)建嵌入式系統(tǒng)。

      9. 常用驅(qū)動開發(fā)框架:了解常見的驅(qū)動開發(fā)框架,如 Linux 內(nèi)核、U-BOOT 等,掌握其使用方法和技巧。

      10. 實踐經(jīng)驗:通過實際項目開發(fā),積累驅(qū)動開發(fā)的實踐經(jīng)驗,提高驅(qū)動開發(fā)能力。

      學(xué)習(xí)這些知識后,開發(fā)者將能夠勝任嵌入式系統(tǒng)的驅(qū)動開發(fā)工作,設(shè)計并實現(xiàn)各種復(fù)雜程度的驅(qū)動程序。同時,不斷跟進(jìn)新技術(shù)和新標(biāo)準(zhǔn),如物聯(lián)網(wǎng)、大數(shù)據(jù)等領(lǐng)域,將有助于提升嵌入式驅(qū)動開發(fā)的專業(yè)素養(yǎng)。

      六、嵌入式驅(qū)動工程師面試題

      嵌入式驅(qū)動工程師面試題的完整指南

      嵌入式驅(qū)動工程師是一個高需求且有挑戰(zhàn)性的職位,招聘的過程也非常嚴(yán)格。在面試中,準(zhǔn)備充分是成功的關(guān)鍵。本文將為嵌入式驅(qū)動工程師的求職者提供一些常見的面試題,并給出詳細(xì)解答,以幫助他們在面試中表現(xiàn)出色。

      1. 請解釋什么是嵌入式系統(tǒng)?

      嵌入式系統(tǒng)指的是嵌入在其他設(shè)備或系統(tǒng)中的計算機(jī)系統(tǒng)。它們通常被用于控制、監(jiān)測或執(zhí)行特定的任務(wù)。嵌入式系統(tǒng)的特點是緊湊、高效、實時性強(qiáng)且可靠性要求高。

      2. 嵌入式驅(qū)動是什么?

      嵌入式驅(qū)動是指嵌入式系統(tǒng)中用于控制硬件設(shè)備的軟件。它使得操作系統(tǒng)能夠與特定的硬件進(jìn)行交互和通信,以實現(xiàn)設(shè)備的正常工作。

      3. 請解釋一下嵌入式驅(qū)動編程的基本原理。

      嵌入式驅(qū)動編程的基本原理是通過驅(qū)動程序與硬件交互,使操作系統(tǒng)能夠控制和訪問硬件設(shè)備。驅(qū)動程序是連接操作系統(tǒng)和硬件的橋梁,它負(fù)責(zé)處理操作系統(tǒng)的請求并將其轉(zhuǎn)化為硬件操作。

      4. 在嵌入式驅(qū)動開發(fā)中,你是如何調(diào)試和測試驅(qū)動程序的?

      在嵌入式驅(qū)動開發(fā)過程中,調(diào)試和測試是非常重要的環(huán)節(jié)。我通常會使用調(diào)試工具和仿真器來跟蹤程序的執(zhí)行過程。同時,我會編寫針對不同功能的單元測試和集成測試,以確保驅(qū)動程序的正確性和穩(wěn)定性。

      5. 請說明你在嵌入式驅(qū)動領(lǐng)域的項目經(jīng)驗。

      在嵌入式驅(qū)動領(lǐng)域,我有豐富的項目經(jīng)驗。最近的一個項目是設(shè)計和開發(fā)一個嵌入式驅(qū)動程序,用于控制一個工業(yè)機(jī)器人的運(yùn)動。我負(fù)責(zé)了整個驅(qū)動程序的開發(fā)過程,包括硬件接口設(shè)計、數(shù)據(jù)傳輸優(yōu)化以及錯誤處理機(jī)制的實現(xiàn)。

      6. 在處理硬件故障時,你的方法是什么?

      在處理硬件故障時,我會首先進(jìn)行故障排除,檢查硬件連接和配置是否正確。如果硬件故障仍然存在,我會使用示波器、邏輯分析儀等工具進(jìn)行進(jìn)一步的故障診斷。然后,我會根據(jù)故障的具體情況進(jìn)行修復(fù)或更換相應(yīng)的硬件部件。

      7. 在嵌入式驅(qū)動開發(fā)中,你遇到過哪些挑戰(zhàn),你是如何解決的?

      在嵌入式驅(qū)動開發(fā)中,我遇到過一些挑戰(zhàn),例如硬件兼容性問題、性能優(yōu)化以及實時性要求。我通過深入的研究和調(diào)試,與硬件廠商的交流以及團(tuán)隊合作來解決這些問題。我學(xué)會了靈活運(yùn)用不同的調(diào)試工具和技術(shù),以快速定位和解決問題。

      8. 在嵌入式驅(qū)動開發(fā)中,你使用過哪些工具和技術(shù)?

      在嵌入式驅(qū)動開發(fā)中,我使用過多種工具和技術(shù)。包括編程語言C和匯編語言、調(diào)試器和仿真器、示波器和邏輯分析儀、版本控制工具等。我還熟悉各種嵌入式操作系統(tǒng)和通信協(xié)議。

      9. 你認(rèn)為哪些因素是嵌入式驅(qū)動開發(fā)中最重要的?

      在我看來,嵌入式驅(qū)動開發(fā)中最重要的因素是穩(wěn)定性和可靠性。由于嵌入式系統(tǒng)常常需要長時間運(yùn)行且在惡劣環(huán)境下工作,因此驅(qū)動程序必須經(jīng)受得住考驗,并具備足夠的健壯性和容錯能力。此外,性能優(yōu)化和實時性也是關(guān)鍵考慮因素。

      10. 你有什么問題想要問我們嗎?

      謝謝您提供的面試機(jī)會。我想了解貴公司在嵌入式領(lǐng)域的項目情況以及未來的發(fā)展計劃。

      面試準(zhǔn)備是成功的關(guān)鍵,希望這些面試題和解答對嵌入式驅(qū)動工程師的求職者有所幫助。通過充分的準(zhǔn)備和展現(xiàn)出色的技術(shù)能力,你一定能夠在面試中脫穎而出,成功地獲得這個職位。

      七、嵌入式Linux驅(qū)動開發(fā)有什么推薦的公司嗎?應(yīng)屆生?

      感謝邀請。匯總了一份2023最全的嵌入式公司,建議收藏起來,以后投遞的時候作為參考!

      2023年最新國產(chǎn)半導(dǎo)體芯片行業(yè)細(xì)分企業(yè)名錄: 囊括MCU、存儲芯片、模擬芯片、電源IC、功率器件、IGBT、MOSFET、CMOS、液晶芯片、觸控芯片、指紋識別芯片、時鐘芯片、載波芯片、數(shù)字隔離器等領(lǐng)域。

      01 移動CPU

      02 計算機(jī)CPU/MPU

      03 IP

      04 GPU

      05 ASIC

      06 DSP

      07 FPGA

      08 EDA

      09 MCU

      10 存儲芯片

      11 模擬芯片

      12 電源IC

      13 功率器件

      14 IGBT

      15 MOSFET

      16 CMOS

      17 液晶芯片

      18 觸控芯片

      19 指紋識別芯片

      20 人臉識別/虹膜

      21 射頻芯片

      22 WiFi芯片

      23 藍(lán)牙芯片

      24 NB-loT芯片

      25 RFID芯片

      26 5G芯片

      27 光芯片

      28 光模塊

      29 GPS/北斗芯片

      30 USB轉(zhuǎn)接芯片

      31 視頻轉(zhuǎn)換芯片

      32 網(wǎng)絡(luò)交換芯片

      33 音頻芯片

      34 激光核心元件

      35 激光雷達(dá)

      36 毫米波雷達(dá)

      37 MMIC

      38 TPMS模組

      39 LED芯片

      40 時鐘芯片

      41 載波芯片

      42 數(shù)字隔離器

      43 航空航天領(lǐng)域嵌入式SOC

      44 安全芯片

      45 智能卡芯片

      46 AI芯片

      47 智能應(yīng)用處理器SOC

      48 OTT盒子主控CPU

      49 無人機(jī)主控芯片

      50 智能消防機(jī)器人芯片

      51 VR主控芯片

      52 智能音箱芯片

      53 藍(lán)牙音箱芯片

      54 智能電視芯片

      55 商顯主控

      56 行車記錄儀主控芯片

      57 投影儀主控芯片

      58 打印機(jī)芯片

      59 視頻監(jiān)控芯片

      60 高端電容電阻

      61 連接器

      62 晶振

      63 傳感器

      64 芯片代理分銷

      65 半導(dǎo)體生產(chǎn)設(shè)備

      66 硅晶圓

      67 晶圓代工

      68 半導(dǎo)體封測

      69 測試設(shè)備

      70 操作系統(tǒng)

      原文鏈接:https://www.zhihu.com/question/576122754/answer/2829273341?utm_campaign=shareopn&utm_medium=social&utm_oi=805166261268004864&utm_psn=1595350880659845120&utm_source=wechat_session推薦一個 github倉庫,上面放了上百本經(jīng)典的嵌入式,計算機(jī)書籍,可以star一下,下次找書直接在上面搜索就可以了github 書籍寶藏倉庫 github訪問不了可以訪問這個:gitee 書籍寶藏倉庫

      練手項目推薦這篇文章:

      分享GitHub上一些嵌入式相關(guān)的高星開源項目

      筆試面試推薦這個專欄:

      嵌入式軟件工程師筆試面試指南

      學(xué)習(xí)路線:

      仲一:【干貨分享】嵌入式學(xué)習(xí)路線公開!(書籍推薦+視頻推薦+練手項目)

      嵌入式經(jīng)典書籍,免費下載,值得收藏:

      仲一:嵌入式Linux必讀經(jīng)典書籍(含下載方式)

      碼字不易,如果覺得本篇文章對你有幫助,可以點個免費的贊支持作者 @仲一

      八、嵌入式開發(fā)是選擇bsp驅(qū)動方向還是應(yīng)用層方向的前景好?

      這個在你工作后沒有太明顯的區(qū)分,一方面開發(fā)一些簡單的驅(qū)動程序,會看原理圖,會讀芯片手冊,這是做嵌入式的一個基礎(chǔ)。另一方面,你工作后肯定會選擇一個行業(yè),比如鐵路,電力,化工,家電等等,這個行業(yè)的應(yīng)用隨著工作的需要肯定也是要慢慢熟悉。

      個人認(rèn)為,最重要的是基礎(chǔ)以及堅定信念,只要在一個行業(yè)堅持下去,終歸會很好的。

      九、嵌入式開發(fā)基礎(chǔ)?

      嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開發(fā),包括在系統(tǒng)化設(shè)計指導(dǎo)下的硬件和軟件以及綜合研發(fā)。

      除暫且分離硬件的EDA研發(fā)以外,側(cè)重的就是在一定硬件條件下的系統(tǒng)化設(shè)計和軟件研發(fā)。

      一般常用的系統(tǒng)有WinCE,ucos,vxworks,linux,android等。

      嵌入式開發(fā)是指以應(yīng)用為中心、以計算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機(jī)系統(tǒng)。

      舉例來說,大到油田的集散控制系統(tǒng)和工廠流水線,小到家用VCD機(jī)或手機(jī),甚至組成普通PC終端設(shè)備的鍵盤、鼠標(biāo)、硬盤、Modem等均是由嵌入式處理器控制的。

      十、嵌入式GUI開發(fā)?

      嵌入式編程,是與普通計算機(jī)編程相區(qū)別的:普通計算機(jī)是指運(yùn)行在普通計算機(jī)(家用臺式電腦、筆記本),對這類設(shè)備進(jìn)行程序程序設(shè)計就是常規(guī)的程序設(shè)計。

      通常情況下,其運(yùn)行環(huán)境為Windows居多,也有Linux系列或蘋果操作系統(tǒng)。

      而嵌入式,是指的在單片機(jī)系統(tǒng),在這種系統(tǒng)上進(jìn)行的編程,涉及到的范圍更復(fù)雜,不同結(jié)構(gòu)、不同廠家、不同型號的芯片,其編程方法都有所區(qū)別。嵌入式程序設(shè)計,在多種領(lǐng)域方泛存在:小到手機(jī)玩具,大到航天飛機(jī),只要是有控制電路存在的地方,基本都可以見到嵌入式系統(tǒng)。

      GUI,是指用戶界面,是指具備顯示能力的嵌入式系統(tǒng)所用的顯示界面。綜合來說嵌入式GUI就是為嵌入式系統(tǒng)進(jìn)行圖形顯示界面的設(shè)計。包括顯示內(nèi)容、顯示風(fēng)格、交互處理等幾部分的設(shè)計。

      相關(guān)資訊
      熱門頻道

      Copyright © 2024 招聘街 滇ICP備2024020316號-38

      国内精品久久久久_亚洲区手机在线中文无码播放_国内精品久久久久影院一蜜桃_日韩内射激情视频在线播放免费

        永定县| 南部县| 溧阳市| 南开区| 崇义县| 永新县| 濮阳县| 桐城市| 桃源县| 安新县| 安西县| 左权县| 青州市| 米林县| 宁德市| 卓资县| 平阳县| 清苑县| 辽源市| 隆安县| 龙海市| 朝阳区| 穆棱市| 读书| 于都县| 开江县| 富锦市| 观塘区| 东乌| 灵山县| 安化县| 山西省| 东平县| 西峡县| 三河市| 湄潭县| 靖西县| 兴业县| 巴塘县| 徐汇区| 且末县|