色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

APM32F411在RT-Thread系統(tǒng)下移植LVGL-8.3

Geehy極海半導(dǎo)體 ? 來(lái)源:Geehy極海半導(dǎo)體 ? 2024-12-04 10:48 ? 次閱讀

1. LVGL簡(jiǎn)單介紹

關(guān)于LVGL的介紹,大家可以去它的官方文檔查看。下面關(guān)于LVGL的介紹均是引用自對(duì)官方文檔的翻譯。

LVGL,全稱是 Light and Versatile Graphics Library ,是一款免費(fèi)開(kāi)源的輕量多功能圖形庫(kù)。LVGL 提供創(chuàng)建嵌入式 GUI 所需的一切,該 GUI 具有易于使用的圖形元素、美觀的視覺(jué)效果和低內(nèi)存占用。

主要特性:

· 強(qiáng)大的構(gòu)建塊,如按鈕、圖表、列表、滑塊、圖像等。

· 具有動(dòng)畫、抗鋸齒、不透明度、平滑滾動(dòng)的高級(jí)圖形

· 各種輸入設(shè)備,如觸摸板、鼠標(biāo)、鍵盤、編碼器

· UTF-8 編碼的多語(yǔ)言支持

· 多顯示器支持,即同時(shí)使用多個(gè)TFT、單色顯示器

· 具有類似 CSS 樣式的完全可定制的圖形元素

· 獨(dú)立于硬件:與任何微控制器或顯示器一起使用

· 可擴(kuò)展:能夠使用很少的內(nèi)存(64 kB 閃存、16 kB RAM)進(jìn)行操作

· 支持操作系統(tǒng)、外部存儲(chǔ)器和 GPU,但不是必需的

· 即使具有高級(jí)圖形效果,也可進(jìn)行單幀緩沖區(qū)操作

· 用 C 編寫以實(shí)現(xiàn)最大兼容性(C++ 兼容)

· 無(wú)需嵌入式硬件即可在 PC 上啟動(dòng)嵌入式 GUI 設(shè)計(jì)的模擬

· 綁定到 MicroPython

· 快速 GUI 設(shè)計(jì)的教程、示例、主題

· 文檔可在線獲取并以 PDF 形式提供

· 根據(jù) MIT 許可免費(fèi)且開(kāi)源

運(yùn)行的設(shè)備要求:

基本上,每個(gè)能夠驅(qū)動(dòng)顯示器的現(xiàn)代控制器都適合運(yùn)行 LVGL。最低要求是:

· 16、32 或 64 位微控制器或處理器

· 建議使用 > 16 MHz 時(shí)鐘速度

· 閃存/ROM:> 64 kB 用于非常重要的組件(建議> 180 kB)

· 內(nèi)存:

靜態(tài) RAM 使用量:~2 kB,具體取決于所使用的功能和對(duì)象類型堆棧:> 2kB(建議> 8 kB)動(dòng)態(tài)數(shù)據(jù)(堆):> 2 KB(如果使用多個(gè)對(duì)象,建議> 48 kB)。LV_MEM_SIZE通過(guò)在 中設(shè)置lv_conf.h。顯示緩沖區(qū):> “水平分辨率”像素(建議> 10 “水平分辨率” )MCU 或外部顯示控制器中的一個(gè)幀緩沖區(qū)

· C99 或更新版本的編譯器

2. LVGL學(xué)習(xí)資源

下面搜集了一些LVGL的學(xué)習(xí)資源。

1、LVGL官網(wǎng):

https://lvgl.io/

2、LVGL官網(wǎng)文檔教程:

https://docs.lvgl.io/master/

3、百問(wèn)網(wǎng)對(duì)LVGL官方文檔的翻譯:

https://lvgl.100ask.net/master/

4、LVGL Github倉(cāng)庫(kù):

https://github.com/lvgl/lvgl

5、lvgl基于Visual sudio 的PC模擬器

https://github.com/lvgl/lv_sim_visual_studio

6、百問(wèn)網(wǎng)基于LVGL的一個(gè)項(xiàng)目:

https://forums.100ask.net/t/topic/602

3. 移植前準(zhǔn)備

移植的硬件平臺(tái):

MCU:APM32F411

LCD驅(qū)動(dòng)芯片:ST7789V

觸摸IC:CST816T

本次移植是基于 RT-Thread 系統(tǒng)上運(yùn)行 LVGL 的,所以在移植前,我們需要準(zhǔn)備好可以正常運(yùn)行 RT-Thread 的Demo工程(可以到極海官網(wǎng)下載APM32F411的SDK)。

另外,還需準(zhǔn)備好可以正常運(yùn)行LCD的驅(qū)動(dòng)和觸摸IC的驅(qū)動(dòng)的代碼。

1、準(zhǔn)備一份可以運(yùn)行RT-Thread的Demo工程

209aaf44-b091-11ef-93f3-92fbcf53809c.jpg

2、下載LVGL_8.3源碼

到官方 Github 倉(cāng)庫(kù),然后選擇 LVGL_8.3 版本。

209f06b6-b091-11ef-93f3-92fbcf53809c.jpg

下載到的LVGL源碼,然后存放到工程目錄下的 middlewares 文件夾。

4. LVGL移植

4.1 移動(dòng)和修改移植的接口文件

(1)移植接口文件修改

下載了LVGL的源碼之后,我們把移植要使用到的接口文件,修改文件名后,放到工程目錄的另一個(gè)文件夾。

20b50ef2-b091-11ef-93f3-92fbcf53809c.jpg

(2)移植配置文件修改

在LVGL源碼的根目錄下有一個(gè) lv_conf_template.h 頭文件,這個(gè)文件是 LVGL 庫(kù)的配置文件,可以修改該文件來(lái)設(shè)置庫(kù)的基本行為,禁用未使用的模塊和功能,調(diào)整編譯時(shí)緩沖區(qū)的大小等。

20bfa92a-b091-11ef-93f3-92fbcf53809c.jpg

上面把LVGL移植接口和配置文件都復(fù)制到了工程的下面這個(gè)目錄:

20d35a1a-b091-11ef-93f3-92fbcf53809c.jpg

4.2 Keil工程配置

(1)Keil工程添加文件

把LVGL的源碼導(dǎo)入到Keil工程下,其中 LVGL 源碼目錄下的 src 目錄的C文件可以全部導(dǎo)入Keil工程,然后再導(dǎo)入LVGL的移植接口文件。如下圖:

20e517dc-b091-11ef-93f3-92fbcf53809c.jpg

導(dǎo)入完成之后如下:

20f6b564-b091-11ef-93f3-92fbcf53809c.jpg

(2)修改工程頭文件路徑包含

21165d1a-b091-11ef-93f3-92fbcf53809c.jpg

(3)勾選C99模式

LVGL源碼的編譯需要C99模式的支持,不然會(huì)出現(xiàn)大量的報(bào)錯(cuò)。

211ef006-b091-11ef-93f3-92fbcf53809c.jpg

4.3 LVGL修改源碼

(1)修改 startup_apm32f411.s 文件的棧大小

官方提供的啟動(dòng)文件的棧設(shè)置的比較小,我們需要改大一些。

2125462c-b091-11ef-93f3-92fbcf53809c.jpg

(2)修改LVGL的配置文件 lvgl_conf.c

212990ce-b091-11ef-93f3-92fbcf53809c.jpg

然后,下面是LVGL各個(gè)模塊的配置,可以根據(jù)自己的需要是否打開(kāi)還是關(guān)閉。

該文件還有色彩深度的配置,顯示屏寬高的配置等,需要根據(jù)自己的硬件進(jìn)行配置,不一一列舉了。

(3)修改LVGL顯示接口文件lv_port_disp.c

該文件就是LVGL的顯示接口文件,需要我們先準(zhǔn)備好LCD顯示的描點(diǎn)函數(shù)。該文件主要要修改的點(diǎn)有:

1、打開(kāi)顯示接口文件宏定義

2143bd32-b091-11ef-93f3-92fbcf53809c.jpg

2、修改lv_port_disp_init函數(shù)

對(duì)于lv_port_disp_init函數(shù),官方提供了3種寫緩存的方式及設(shè)置顯示分辨。我們可以選擇其中一種方式即可,修改后的函數(shù)如:

void lv_port_disp_init(void)

{

/*-------------------------

* Initialize your display

* -----------------------*/

disp_init();

/*-----------------------------

* Create a buffer for drawing

*----------------------------*/

/**

* LVGL requires a buffer where it internally draws the widgets.

* Later this buffer will passed to your display driver's `flush_cb` to copy its content to your display.

* The buffer has to be greater than 1 display row

*

* There are 3 buffering configurations:

* 1. Create ONE buffer:

* LVGL will draw the display's content here and writes it to your display

*

* 2. Create TWO buffer:

* LVGL will draw the display's content to a buffer and writes it your display.

* You should use DMA to write the buffer's content to the display.

* It will enable LVGL to draw the next part of the screen to the other buffer while

* the data is being sent form the first buffer. It makes rendering and flushing parallel.

*

* 3. Double buffering

* Set 2 screens sized buffers and set disp_drv.full_refresh = 1.

* This way LVGL will always provide the whole rendered screen in `flush_cb`

* and you only need to change the frame buffer's address.

*/

/* Example for 1) */

static lv_disp_draw_buf_t draw_buf_dsc_1;

static lv_color_t buf_1[MY_DISP_HOR_RES * DISP_BUFFER_LINES]; /*A buffer for 10 rows*/

lv_disp_draw_buf_init(&draw_buf_dsc_1, buf_1, NULL, MY_DISP_HOR_RES * DISP_BUFFER_LINES); /*Initialize the display buffer*/

// /* Example for 2) */

// static lv_disp_draw_buf_t draw_buf_dsc_2;

// static lv_color_t buf_2_1[MY_DISP_HOR_RES * DISP_BUFFER_LINES]; /*A buffer for 10 rows*/

// static lv_color_t buf_2_2[MY_DISP_HOR_RES * DISP_BUFFER_LINES]; /*An other buffer for 10 rows*/

// lv_disp_draw_buf_init(&draw_buf_dsc_2, buf_2_1, buf_2_2, MY_DISP_HOR_RES * DISP_BUFFER_LINES); /*Initialize the display buffer*/

// /* Example for 3) also set disp_drv.full_refresh = 1 below*/

// static lv_disp_draw_buf_t draw_buf_dsc_3;

// static lv_color_t buf_3_1[MY_DISP_HOR_RES * MY_DISP_VER_RES]; /*A screen sized buffer*/

// static lv_color_t buf_3_2[MY_DISP_HOR_RES * MY_DISP_VER_RES]; /*Another screen sized buffer*/

// lv_disp_draw_buf_init(&draw_buf_dsc_3, buf_3_1, buf_3_2,

// MY_DISP_VER_RES * MY_DISP_VER_RES); /*Initialize the display buffer*/

/*-----------------------------------

* Register the display in LVGL

*----------------------------------*/

static lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/

lv_disp_drv_init(&disp_drv); /*Basic initialization*/

/*Set up the functions to access to your display*/

/*Set the resolution of the display*/

disp_drv.hor_res = MY_DISP_HOR_RES;

disp_drv.ver_res = MY_DISP_VER_RES;

/*Used to copy the buffer's content to the display*/

disp_drv.flush_cb = disp_flush;

/*Set a display buffer*/

disp_drv.draw_buf = &draw_buf_dsc_1;

/*Required for Example 3)*/

//disp_drv.full_refresh = 1;

/* Fill a memory array with a color if you have GPU.

* Note that, in lv_conf.h you can enable GPUs that has built-in support in LVGL.

* But if you have a different GPU you can use with this callback.*/

//disp_drv.gpu_fill_cb = gpu_fill;

/*Finally register the driver*/

lv_disp_drv_register(&disp_drv);

}

3、修改disp_flush函數(shù)

該函數(shù)就是調(diào)用底層LCD描點(diǎn)函數(shù)進(jìn)行繪制UI界面的。

// LCD描點(diǎn)函數(shù)

void LCD_Color_Fill(u16 sx, u16 sy, u16 ex, u16 ey, u16 *color)

{

u16 i, j;

u16 height, width;

width = ex - sx + 1;

height = ey - sy + 1;

LCD_Address_Set(sx,sy+OFFSET_Y,ex,ey+OFFSET_Y);

for (i = 0; i < height; i++)

{

for (j = 0; j < width; j++)

{

LCD_WR_DATA(color[i * width + j]);

}

}

}

static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p)

{

// 調(diào)用底層LCD描點(diǎn)函數(shù)

LCD_Color_Fill(area->x1, area->y1, area->x2, area->y2, (uint16_t *)color_p);

/*IMPORTANT!!!

*Inform the graphics library that you are ready with the flushing*/

lv_disp_flush_ready(disp_drv);

}

4.4 添加和修改RT-Thread環(huán)境的LVGL文件支持

我們需要把LVGL運(yùn)行在RT-Thread系統(tǒng),所以我們需要添加LVGL的RT-Thread接口文件。官方其實(shí)已經(jīng)做好了對(duì)應(yīng)的文件,我們復(fù)制到工程目錄下修改即可。

(1)添加LVGL的RT-Thread接口文件到Keil工程

215f9386-b091-11ef-93f3-92fbcf53809c.jpg

然后把這兩個(gè)文件加入到Keil工程目錄下:

216a6284-b091-11ef-93f3-92fbcf53809c.jpg

(2)修改lv_rt_thread_conf.h頭文件

因?yàn)楣俜揭呀?jīng)做好了RT-Thread接口文件了,我們只需要簡(jiǎn)單修改即可。修改如下:

2171e400-b091-11ef-93f3-92fbcf53809c.jpg

4.5 添加LVGL Demo例程

前面的移植和修改代碼已經(jīng)完成了LVGL的移植工程,下面我們添加一個(gè)簡(jiǎn)單的 LVGLDemo 例程進(jìn)行測(cè)試。

我們可以在官方的源碼目錄 .demos 目錄下選一個(gè)示例程序,或者也可以自己找一個(gè)其他的簡(jiǎn)單的LVGL示例代碼。我下面選一個(gè)日歷demo例程進(jìn)行演示。

217a5bf8-b091-11ef-93f3-92fbcf53809c.jpg

最后編譯工程源碼和下載到APM32F411中。

217f1d28-b091-11ef-93f3-92fbcf53809c.jpg

編譯會(huì)有一些警告,這是LVGL源碼引入的,有些語(yǔ)**有警告,可以暫時(shí)忽略。

在APM32F411運(yùn)行結(jié)果如下:

2199b156-b091-11ef-93f3-92fbcf53809c.jpg

5. 給LVGL添加觸摸接口

前面的移植已經(jīng)把顯示接口給完成了,而且上面也可以正常顯示了。但是LVGL的輸入接口還沒(méi)移植進(jìn)來(lái),不過(guò)有了前面的移植過(guò)程,添加觸摸輸入接口就很簡(jiǎn)單了。主要就是修改 lv_port_indev.c 文件。

(1)把 lv_port_indev.c 文件的宏定義改為1

21a529be-b091-11ef-93f3-92fbcf53809c.jpg

(2)修改 touchpad_is_pressed 和 touchpad_get_xy 函數(shù)

/*Return true is the touchpad is pressed*/

static bool touchpad_is_pressed(void)

{

/*Your code comes here*/

uint8_t num = cst816t_get_touch_points_num(); // 是否有觸摸點(diǎn)

if ((num != 0) && (num != 0xFF))

{

return true;

}

else

{

return false;

}

}

/*Get the x and y coordinates if the touchpad is pressed*/

static void touchpad_get_xy(lv_coord_t * x, lv_coord_t * y)

{

/*Your code comes here*/

// uint16_t tp_x = 0, tp_y = 0;

cst816t_read_pos((uint16_t *)x, (uint16_t *)y); // 底層獲取觸摸坐標(biāo)函數(shù)

// (*x) = tp_x;

// (*y) = tp_y;

}

cst816t_read_pos 函數(shù)是要我們先寫好的獲取觸摸坐標(biāo)的函數(shù)。另外還有一些沒(méi)用到的代碼我給注釋掉了。

增加完上述代碼就可以發(fā)現(xiàn)在屏幕可以點(diǎn)擊進(jìn)行修改日期了,說(shuō)明觸摸接口移植完成。

最后,APM32F411在RT-Thread系統(tǒng)下移植LVGL工程就全部完成了。整個(gè)過(guò)程還是比較簡(jiǎn)單的,而且網(wǎng)上也有很多相關(guān)的教程。不過(guò)移植過(guò)程中還是碰到不是小問(wèn)題的,有些細(xì)節(jié)并沒(méi)有在文章中一一寫出來(lái),在移植過(guò)程中遇到一些問(wèn)題就需要我們根據(jù)報(bào)錯(cuò)提示對(duì)應(yīng)解決就好。另外,在移植前最重要的就是要保證LCD驅(qū)動(dòng)和觸摸驅(qū)動(dòng)代碼正確,然后再進(jìn)行移植,這樣出現(xiàn)問(wèn)題我們比較好分析和定位問(wèn)題。

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

    關(guān)注

    48

    文章

    7542

    瀏覽量

    151316
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304797
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    379

    瀏覽量

    28124
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    659

    瀏覽量

    39654
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1285

    瀏覽量

    40081

原文標(biāo)題:APM32芯得 EP.47 | APM32F411在RT-Thread系統(tǒng)下移植LVGL-8.3

文章出處:【微信號(hào):geehysemi,微信公眾號(hào):Geehy極海半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RT-Thread NUC97x 移植 LVGL

    不涉及 rt-thread 驅(qū)動(dòng),但是它是 LVGLrt-thread 的接口。LVGL rt
    發(fā)表于 07-08 09:37 ?1479次閱讀

    RT-Thread最小系統(tǒng)移植方法

    目標(biāo)為進(jìn)一步研究RT-Thread,掌握系統(tǒng)移植的基本方法
    發(fā)表于 06-02 09:47 ?513次閱讀
    <b class='flag-5'>RT-Thread</b>最小<b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>移植</b>方法

    RT-thread源碼移植到STM32F10x和STM32F4xx

    RT-thread源碼移植到STM32F10x和STM32F4xx: 一、源碼下載 點(diǎn)擊入門->下載 ? 歷史版本里邊隨便選取一個(gè) ? 會(huì)
    的頭像 發(fā)表于 11-15 09:38 ?2552次閱讀
    <b class='flag-5'>RT-thread</b>源碼<b class='flag-5'>移植</b>到STM32<b class='flag-5'>F</b>10x和STM32<b class='flag-5'>F</b>4xx

    ART Pi Smart基于RT-Thread Smart系統(tǒng)LVGL移植簡(jiǎn)介

    1、基于RT-Thread Smart系統(tǒng)LVGL移植我申請(qǐng)測(cè)試申請(qǐng)的高級(jí)功能的,由于是有限的(本來(lái)要求測(cè)試一個(gè)月,但是板子只有不到一個(gè)月)。的,特別是
    發(fā)表于 08-03 16:35

    移植RT-Thread的原理與方法

    ,rtt論壇搜索“國(guó)產(chǎn)MCU移植”即可閱讀。本文不介紹具體移植步驟,而是如往常一樣,分享移植的原理與方法。 移植原理
    的頭像 發(fā)表于 09-17 09:41 ?7775次閱讀

    【國(guó)產(chǎn)MCU移植】HC32F460基于Keil MDK 移植 RT-Thread Nano

    【國(guó)產(chǎn)MCU移植】HC32F460基于Keil MDK 移植 RT-Thread Nano
    發(fā)表于 11-18 18:51 ?65次下載
    【國(guó)產(chǎn)MCU<b class='flag-5'>移植</b>】HC32<b class='flag-5'>F</b>460基于Keil MDK <b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> Nano

    【國(guó)產(chǎn)MCU系列】 HK32F030 上移植 RT-Thread Nano

    如需下載相關(guān)開(kāi)源資料請(qǐng)點(diǎn)擊閱讀原文這是一個(gè)航順 HK32F030 的 RT-Thread Nano 移植示例,記錄了 Keil 裸機(jī)工程的基礎(chǔ)上進(jìn)行
    發(fā)表于 11-21 18:51 ?42次下載
    【國(guó)產(chǎn)MCU系列】<b class='flag-5'>在</b> HK32<b class='flag-5'>F</b>030 上<b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> Nano

    【國(guó)產(chǎn)MCU移植移植RT-Thread到國(guó)產(chǎn)芯片HC32F460PETB

    【國(guó)產(chǎn)MCU移植移植RT-Thread到國(guó)產(chǎn)芯片HC32F460PETB
    發(fā)表于 11-23 18:06 ?37次下載
    【國(guó)產(chǎn)MCU<b class='flag-5'>移植</b>】<b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b>到國(guó)產(chǎn)芯片HC32<b class='flag-5'>F</b>460PETB

    RT-Thread系統(tǒng)移植到STM32f103

    RT-Thread系統(tǒng)移植到STM32f103
    發(fā)表于 12-09 12:51 ?26次下載
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>移植</b>到STM32<b class='flag-5'>f</b>103

    【國(guó)產(chǎn)MCU系列】 HK32F030 上移植 RT-Thread Nano

    這是一個(gè)航順 HK32F030 的 RT-Thread Nano 移植示例,記錄了 Keil 裸機(jī)工程的基礎(chǔ)上進(jìn)行 RT-Thread N
    發(fā)表于 01-25 17:42 ?4次下載
    【國(guó)產(chǎn)MCU系列】<b class='flag-5'>在</b> HK32<b class='flag-5'>F</b>030 上<b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> Nano

    基于 Keil MDK 移植 RT-Thread Nano

    本文介紹如何基于 Keil MDK 移植 RT-Thread Nano ,并以一個(gè) stm32f103 的基礎(chǔ)工程作為示例進(jìn)行講解。 RT-Thread Nano 已集成
    發(fā)表于 01-26 17:04 ?16次下載
    基于 Keil MDK <b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> Nano

    RT-Thread已經(jīng)全面支持極海APM32F1系列MCU

    近日,RT-Thread 和其高級(jí)會(huì)員合作伙伴極海半導(dǎo)體宣布:正式完成APM32F4系列MCU的RT-Thread 物聯(lián)網(wǎng)操作系統(tǒng)適配及RT-Thr
    發(fā)表于 08-30 09:45 ?1178次閱讀

    APM32F030RCT6_軟件問(wèn)題_RT-Thread注冊(cè)設(shè)備時(shí),進(jìn)入硬件報(bào)錯(cuò)

    APM32F030RCT6_軟件問(wèn)題_RT-Thread注冊(cè)設(shè)備時(shí),進(jìn)入硬件報(bào)錯(cuò)
    發(fā)表于 11-09 21:03 ?0次下載
    <b class='flag-5'>APM32F</b>030RCT6_軟件問(wèn)題_<b class='flag-5'>RT-Thread</b><b class='flag-5'>在</b>注冊(cè)設(shè)備時(shí),進(jìn)入硬件報(bào)錯(cuò)

    RT-Thread文檔_內(nèi)核移植

    RT-Thread文檔_內(nèi)核移植
    發(fā)表于 02-22 18:31 ?3次下載
    <b class='flag-5'>RT-Thread</b>文檔_內(nèi)核<b class='flag-5'>移植</b>

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與<b class='flag-5'>移植</b>
    主站蜘蛛池模板: 2012中文字幕手机在线| 蜜臀AV人妻久久无码精品麻豆| 亚洲国产精品无码中文字幕| 国产传媒18精品A片在线观看| 色中色辩论区| 国产精品免费视频播放| 午夜福利32集云播| 国产亚洲精品97在线视频一| 亚洲国产剧情中文视频在线| 极品色αv影院| 真实国产精品视频国产网| 老司机亚洲精品影院在线观看| 91精品专区| 欧美性暴力变态xxxx| 高挑人妻无奈张开腿| 性美国人xxxxx18| 精精国产www视频在线观看免费| 伊人青青操| 免费果冻传媒2021在线看| 99久久精品国产自免费| 青柠在线观看免费播放电影| 嘟嘟嘟影院免费观看视频| 帅哥男男GV在线1080P| 国产三级精品三级男人的天堂| 亚洲免费无码中文在线| 中文字幕无码他人妻味| 蜜芽tv在线观看免费网站| 别插我B嗯啊视频免费| 神马电影我不卡国语版| 国产在线观看成人| 在线不卡日本v二区| 女王羞辱丨vk| 国产短视频精品区| 亚洲欧洲久久| 伦理电影v男人天堂| 不戴套挺进人妻怀孕| 性色无码AV久久蜜臀| 久久日本精品在线热| x69老师x日本| 亚洲a免费| 伦理片92伦理午夜|