串口驅(qū)動的源文件一般是使用drivers/serial/8250.c文件,或該文件的稍作修改。這是因為大多的串口接口的操作寄存器都是符合相關(guān)的定義,都是基本一樣的。那么在移植串口驅(qū)動時,一般是為該驅(qū)動添加我們的串口接口設(shè)備。一般來說,串口接口設(shè)備在board文件中添加或在板級目錄下添加專屬的serial文件。
設(shè)備的定義一般如下:
struct plat_serial8250_port serial_std_platform_data[] = {
{
.membase = (void *) io_p2v(UART5_BASE),
.mapbase = UART5_BASE,
.irq = IRQ_UART_IIR5,
.uartclk = MAIN_OSC_FREQ,
.regshift = 2,
.iotype = UPIO_MEM32,
.flags = UPF_BOOT_AUTOCONF | UPF_BUGGY_UART | UPF_SKIP_TEST,
},
{
.membase = (void *) io_p2v(UART3_BASE),
.mapbase = UART3_BASE,
.irq = IRQ_UART_IIR3,
.uartclk = MAIN_OSC_FREQ,
.regshift = 2,
.iotype = UPIO_MEM32,
.flags = UPF_BOOT_AUTOCONF | UPF_BUGGY_UART | UPF_SKIP_TEST,
},
{
.membase = (void *) io_p2v(UART4_BASE),
.mapbase = UART4_BASE,
.irq = IRQ_UART_IIR4,
.uartclk = MAIN_OSC_FREQ,
.regshift = 2,
.iotype = UPIO_MEM32,
.flags = UPF_BOOT_AUTOCONF | UPF_BUGGY_UART | UPF_SKIP_TEST,
}
}
struct platform_device serial_std_platform_device = {
.name = "serial8250",
.id = 0,
.dev = {
.platform_data = serial_std_platform_data,
},
};
這個platform_device對象的私有數(shù)據(jù)指成員向一個plat_serial8250_port類型的數(shù)組。在這里該數(shù)組描述了三個串口接口的基本信息。當(dāng)8250驅(qū)動檢測到這個platform_device對象后,就分析該對象的私有數(shù)據(jù)成員指向的那個plat_serial8250_port類型的數(shù)組。然后根據(jù)該數(shù)組的每個成員描述的信息生成一個串口對象設(shè)備。
實現(xiàn)了這個platform_device結(jié)構(gòu)體后,把這個對象注冊即可。但這個對象的name必須是serial8250。否則8250驅(qū)動檢測不到這個樣的設(shè)備。
如果注冊順利且工作正常,那么在驅(qū)動加載時會打印出串口接口探測信息:
serial8250.0: ttyS0 at MMIO 0x40080000 (irq = 7) is a 16550A
serial8250.0: ttyS1 at MMIO 0x40088000 (irq = 8) is a 16550A
serial8250.0: ttyS2 at MMIO 0x40098000 (irq = 10) is a 16550A
serial8250.0表示8250驅(qū)動檢測到的第一個platform_device對象。如果檢測到第二個platform對象,會打印成serial8250.1;如此類推。
0x40080000表示串口接口寄存器物理地址的基地址;
irq描述串口接口所用的中斷;
16550A表示該串口接口的類型。有可能這個類型的名字不是我們所預(yù)期的,但是只要該類型的TX/RX FIFO長度和我們實際串口接口的一樣,就可以接受。
ttyS0/1/2表示串口設(shè)備的名字
如果注冊成功,則在/dev/目錄下生成: ttyS0,ttyS1,ttyS2的設(shè)備文件節(jié)點。同時在/sys/devices/platform/目錄下,生成serial8250,serial8250.0目錄。
這時即可對串口的各設(shè)備文件節(jié)點進(jìn)行測試。
下面詳細(xì)介紹plat_serial8250_port這個對象。我們看一段上面的代碼:
{
.membase = (void *) io_p2v(UART5_BASE),
.mapbase = UART5_BASE,
.irq = IRQ_UART_IIR5,
.uartclk = MAIN_OSC_FREQ,
.regshift = 2,
.iotype = UPIO_MEM32,
.flags = UPF_BOOT_AUTOCONF | UPF_BUGGY_UART | UPF_SKIP_TEST,
},
membase:
該成員描述的該串口接口寄存器虛擬地址的基地址。在初始化該成員時,需要自己把該串口接口寄存器的物理地址映射到虛擬地址空間。并且該映射工作需要在內(nèi)核的板級初始化階段完成。
mapbase:
該成員描述的該串口接口寄存器物理地址的基地址。其實只要初始化了mapbase成員,上面的membase成員就可以不必初始化了。因為8250驅(qū)動如果檢測到只初始化了mapbase成員而membase為NULL,則自動把該串口接口寄存器的物理地址空間映射到虛擬地址空間。
irq:
該成員描述的是該串口接口使用的中斷號。
uartclk:
該成員描述了該串口接口使用的時鐘頻率。
regshift:
該成員表示:在訪問該串口接口的某個寄存器時,需把該寄存器的號左移多少位然后加基地址(不管是物理或虛擬地址)才能得能到這個寄存器的址址。
iotype:
該成員表示該串口接口寄存器的地址類型,可以取值以下的其中一個:
UPIO_PORT 端口地址,8位
UPIO_HUB6
UPIO_MEM 8位的內(nèi)存地址
UPIO_MEM32 32位的內(nèi)存地址
UPIO_AU
UPIO_TSI
UPIO_DWAPB
UPIO_RM9000
一般來說,如果該成員初始化為UPIO_MEM或UPIO_PORT,那么regshift成員應(yīng)該為0;如果該成員初始化為UPIO_MEM32,那么regshift成員應(yīng)該為2.
flags:
UPF_BOOT_AUTOCONF 表示自動探測串口類型,這個一般是需要的
UPF_SKIP_TEST 表示在探測串口類型時,是否測試地址的可訪問性。這在調(diào)試階段是需要的。
除了flags,上面的各個成員都必須嚴(yán)格設(shè)置正確才能保證串口接口被正確探測和初始化。
如果串口接口類型沒有被探測出來,或者FIFO長度不對,這需要考慮寄存器的訪問是否正確,這包括:基地址是否正確,regshift和iotype是否正確,時鐘頻率是否正確。
如果探測信息也沒有,或者接口數(shù)量不對。那么請在mem menuconfig中,在
Device Drivers --->
Character devices --->
Serial drivers --->
(8) Maximum number of 8250/16550 serial ports
(8) Number of 8250/16550 serial ports to register at runtime
這兩項的數(shù)字等于在8250注冊串口接口的總數(shù)。
以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費聽課了。
宋工企鵝號:35--24-65--90-88 Tel/WX:173--17--95--19--08
Linux串口驅(qū)動移植的一些心得總結(jié)
相關(guān)推薦
高效高可靠性LED驅(qū)動設(shè)計心得技巧分享
近日,小編采訪了LED驅(qū)動電路設(shè)計方面的資深達(dá)人DougBailey,他總結(jié)了設(shè)計工作中需要注意的問題和親身設(shè)計心得、
2014-10-23 15:21:082318
設(shè)計達(dá)人分享干貨:LED驅(qū)動設(shè)計心得
對于新手來講,LED驅(qū)動設(shè)計并不是一件容易的事兒,針對這方面問題,小編特別總結(jié)了設(shè)計達(dá)人的一些在工作中需要注意的問題和親身的設(shè)計心得進(jìn)行分享。
2015-01-12 15:33:471576
Linux系統(tǒng)移植開發(fā)篇2:燒寫linux鏡像
FS-MP1A開發(fā)板,除了Linux系統(tǒng)移植篇外,還包括其他多系列教程,包括Cortex-A7開發(fā)篇、Cortex-M4開發(fā)篇、擴(kuò)展板驅(qū)動移植篇、Linux應(yīng)用開發(fā)篇、FreeRTOS系統(tǒng)移植篇
2021-09-29 16:00:572768
Linux串口驅(qū)動移植的一些心得總結(jié)
串口驅(qū)動的源文件一般是使用drivers/serial/8250.c文件,或該文件的稍作修改。這是因為大多的串口接口的操作寄存器都是符合相關(guān)的定義,都是基本一樣的。那么在移植串口驅(qū)動時,一般是為該
2018-03-03 14:13:06
Linux驅(qū)動之基本理論常識總結(jié)
0 引言前面Linux專題中關(guān)于Linux下系統(tǒng)編程總結(jié)了17篇博文,主要是為了提高Linux下的C編程應(yīng)用能力,熟悉Linux編程應(yīng)用環(huán)境,從此篇博文起開始Linux驅(qū)動的總結(jié),后面計劃加一些綜合
2021-07-01 10:38:16
Linux內(nèi)核中GNU C擴(kuò)展的一些常用C語言語法分析
13.1 總結(jié)前面12節(jié)的課程,主要針對 Linux 內(nèi)核中 GNU C 擴(kuò)展的一些常用 C 語言語法進(jìn)行了分析。GNU C 的這些擴(kuò)展語法,主要用來完善 C 語言標(biāo)準(zhǔn)和編譯優(yōu)化。而通過 C 標(biāo)準(zhǔn)
2021-12-14 06:29:10
Linux鏈表操作心得體會
在研究linux內(nèi)核自帶的dmatest.c驅(qū)動程序過程中發(fā)現(xiàn)有部分的鏈接操作,非常迷惑,故在此記錄下來一些查閱資料后的心得體會。
2019-07-26 08:15:48
linux 系統(tǒng)的構(gòu)建和移植總結(jié)
初始化棧指針9.跳轉(zhuǎn)到sdram中執(zhí)行stage2Stage2(體系結(jié)構(gòu)無關(guān)代碼,C實現(xiàn))1.初始化一些相關(guān)的硬件 串口,網(wǎng)絡(luò),USB等2.將kernel從NandFlash拷貝到sdram3.為
2013-11-27 19:56:57
linux下的Gsensor驅(qū)動移植
有沒有大神在linux下做過Gsensor的驅(qū)動移植,想看看分享的經(jīng)驗,附件是我在移植的時候遇到的一些問題,編譯的時候就出錯,原廠那邊沒人精通這方面的,求指教
2016-12-17 09:01:25
一些自己的心得和干貨分享
,有優(yōu)秀的導(dǎo)師指引。 對于嵌入式學(xué)習(xí)來講,每個人的嵌入式開發(fā)學(xué)習(xí)心得都是不一樣的,linux內(nèi)核的編程學(xué)習(xí)過程,讀一些優(yōu)秀的代碼時很有必要的,只要自己肯努力用心,在星創(chuàng)客很容易就能學(xué)好,未來就業(yè)也有
2017-12-01 11:08:03
總結(jié)一下429時鐘樹的一些知識
目錄時鐘系統(tǒng)時鐘源三級目錄在前幾篇文章中我想把一些基礎(chǔ)的部分簡單總結(jié)一下:首先是前兩篇文章,學(xué)習(xí)一個mcu就要先對它的外設(shè)有初步的理解,還有要使用的HAL庫,它相當(dāng)于我們的代碼與硬件之間連接的橋梁
2021-08-10 06:23:32
總結(jié)了些關(guān)于linux學(xué)習(xí)什么的一些課程設(shè)置
ven盧qq3354367110總結(jié)了些關(guān)于linux學(xué)習(xí)的一些課程第一:了解Linux系統(tǒng);區(qū)分各種版本的Linux系統(tǒng),以便于拓展 Linux視野。1、Linux 簡介;2、Linux 系統(tǒng)
2017-07-29 15:07:59
ARM與嵌入式linux的一些入門建議
一份教程,這個教程中的例程并不是我為我們所代理的板子寫的,是我在我們學(xué)院實驗室拿的,英培特為他們自己 的實驗箱寫的,不過很有借鑒意義,可以作為一份有價值的參考。第二,使用linux系統(tǒng)進(jìn)行一些
2020-04-22 10:46:31
Keil使用生成bin文件問題分析與解決辦法
比較好的文章加密驅(qū)動開發(fā)使用CCMRAM內(nèi)存串口網(wǎng)口USB虛擬串口在線升級官方資源博客資源推薦資源重要總結(jié)Keil使用生成bin文件問題分析與解決JTAG與串口本人STM32開發(fā)過程中的一些心得及總結(jié)。比較好的文章加密STM32MCU加密原理與方法 (很詳細(xì))驅(qū)動開發(fā)使用CCMRAM內(nèi)存C...
2021-08-06 06:09:34
PCB Layout的一些總結(jié)
PCB設(shè)計中總結(jié)的一些原則,希望高手能夠指正勘誤。一、關(guān)于布局1.布局,字面上的解釋,就是將電路元件合理的放置。那怎么樣的放置是合理的,一個簡單的原則就是模塊化劃分清晰,也就是說有一定電路基礎(chǔ)的人,拿到
2016-12-20 17:34:18
RTOS和Linux中的內(nèi)存映射及移植方法
一些移植方法。特別地,本文會重點討論RTOS和Linux中的內(nèi)存映射,基于I/O調(diào)度隊列的移植,把RTOS I/O重定義到Linux下的驅(qū)動程序和守護(hù)進(jìn)程里。
2019-07-03 07:43:06
STM32 虛擬串口 LINUX 驅(qū)動調(diào)試
出該端點。顧客對我們說是因為我們沒有在Linux的機(jī)器上安裝虛擬串口驅(qū)動,于是開始網(wǎng)上各種百度。找了半天只有一個網(wǎng)頁里有個網(wǎng)友說在Linux上不用安裝驅(qū)動。但是硬是沒有枚舉出來,后來打電話給ST的官網(wǎng)
2017-03-07 21:04:25
STM32開發(fā)過程中的一些心得及總結(jié)
JTAG設(shè)備STM32 匯編匯編中含C語言注釋數(shù)字信號處理濾波IIR濾波器本人STM32開發(fā)過程中的一些心得及總結(jié)。比較好的文章加密STM32MCU加密原理與方法 (很詳細(xì))驅(qū)動開發(fā)啟動使用CCMRAM內(nèi)...
2021-08-17 08:50:02
labview串口通信的一些心得
labview中串口通信直接用labview中自帶的visa是最方便的,在調(diào)試過程中的注意事項,一、串口通訊的波特率設(shè)置要精確,比如要求9600的波特率,則晶振應(yīng)選擇11.0593MHz或其倍數(shù)。二
2011-12-27 11:58:11
labview串口通信的一些心得
labview中串口通信直接用labview中自帶的visa是最方便的,在調(diào)試過程中的注意事項,一、串口通訊的波特率設(shè)置要精確,比如要求9600的波特率,則晶振應(yīng)選擇11.0593MHz或其倍數(shù)。二
2012-11-30 19:47:43
laview中強(qiáng)制類型轉(zhuǎn)換控件使用的一些心得
Labview中有個控件叫“強(qiáng)制類型轉(zhuǎn)換”,以前一直沒弄明白怎么使用它,今天仔細(xì)研究了一下,發(fā)現(xiàn)了使用的一些心得,拿出來與大家分享,如有不足請大家指正。由于內(nèi)容較長,帖子里不好寫,就做成附件了
2016-01-19 20:26:06
liteos-a跟Linux相比有何不同?看代碼參考了Linux的一些內(nèi)容。
liteos-a跟Linux相比有何不同?看代碼參考了Linux的一些內(nèi)容。
2020-10-09 09:52:37
【轉(zhuǎn)帖】嵌入式學(xué)習(xí)的一些基礎(chǔ)技能
驅(qū)動程序編寫Skull驅(qū)動 編寫鍵盤驅(qū)動編寫I/O驅(qū)動 分析一個看門狗驅(qū)動程序 對比Linux2.6內(nèi)核與2.4內(nèi)核中字符設(shè)備驅(qū)動的不同Linux 塊設(shè)備驅(qū)動程序塊設(shè)備驅(qū)動程序工作原理 典型的塊設(shè)備驅(qū)動
2017-08-03 14:50:35
介紹學(xué)習(xí)Linux的一些建議
一、從基礎(chǔ)開始: 常常有些朋友在Linux論壇問一些問題,不過,其中大多數(shù)的問題都是很基礎(chǔ)的。例如:為什么我使用一個命令的時候,系統(tǒng)告訴我找不到該目錄,我要如何限制使用者的權(quán)限等問題,這些問題其實
2018-08-18 02:17:57
使用STM32cubemx進(jìn)行一些串口
STM32cubemx_W5500_TCP和Modbus/TCP以STM32f103zet6開發(fā)板為平臺使用STM32cubemx進(jìn)行一些串口,spi等接口的初始化。使用的是野火的w5500模塊,以
2022-01-19 07:51:52
使用WiFi的過程中總結(jié)的一些經(jīng)驗
簡述在我們做項目開發(fā)中,經(jīng)常會用到WiFi,這次給大家分享一下我在使用WiFi的過程中總結(jié)的一些經(jīng)驗,這次用到的是esp8266WiFi模塊,如圖所示。引腳連接:GND:接地GPIO16:其實是
2021-08-05 07:30:19
使用mpu陀螺儀的一些心得分享
淺談自己使用mpu陀螺儀的一些心得。mpu6050/mpu6500驅(qū)動這里是用的原子哥的用虛擬IIC驅(qū)動mpu6050代碼,之前我一直是用硬件IIC驅(qū)動,但是聽大神說虛擬IIC比硬件IIC要穩(wěn)定
2022-02-10 07:15:09
關(guān)于linux session的一些認(rèn)識淺談
今天我來談一談關(guān)于linux session的一些認(rèn)識,以下都是我對這個概念的認(rèn)識,只是很初級的,希望對各位有所幫組吧。
2019-07-23 06:20:42
關(guān)于串口的一些分享
串口是學(xué)習(xí)單片機(jī)重要的一項,用來顯示數(shù)據(jù)和一些簡單的控制命令非常方便,經(jīng)過筆者這幾天的測試,總結(jié)出了一些需要注意的地方:(以下代碼全部基于單片機(jī)STM32F407實現(xiàn))1、關(guān)于發(fā)送除非你勾選了串口
2016-10-13 10:43:35
分享PCB 設(shè)計的一些心得及入門資料
各位朋友:學(xué)習(xí)PCB設(shè)計已有一個月了,終于能自行設(shè)計簡單的PCB板了,在近一個月的學(xué)習(xí)過程中有了些學(xué)習(xí)心得,給各位初學(xué)PCB的朋友參考.剛開始學(xué)的時候,找各種關(guān)于PCB的論壇進(jìn)行學(xué)習(xí),但看到別人發(fā)
2020-12-23 10:00:21
分享步進(jìn)電機(jī)驅(qū)動的一些經(jīng)驗
來源:公眾號【魚鷹談單片機(jī)】作者:魚鷹OspreyID :emOsprey以下是魚鷹當(dāng)初完成公司第一個項目時寫的總結(jié),大家可以看看能否得到一些啟發(fā)(或許會比較枯燥,畢竟這是魚鷹自己的...
2021-07-08 08:35:15
分享給你一些實用的Linux技巧
并不需要知道所有的這些東西,但是如果你還在很沉重地在使用Linux的話,這些東西都值得你看一看。(注:如果你想知道下面涉及到的命令的更多的用法,你一定要man一點。對于一些命令,你可能需要先yum或
2016-08-21 17:13:05
分享給你一些實用的Linux技巧
并不需要知道所有的這些東西,但是如果你還在很沉重地在使用Linux的話,這些東西都值得你看一看。(注:如果你想知道下面涉及到的命令的更多的用法,你一定要man一點。對于一些命令,你可能需要先yum或
2016-08-29 09:43:46
剛接觸matlab的一些心得。
剛接觸matlab的一些心得。是一些非常非常淺顯的數(shù)學(xué)方面的應(yīng)用。貼出來了!1.普通的數(shù)值表達(dá)式計算略了,直接輸入表達(dá)式回車就可以了例: 3^2+2*2+sin(pi) ans = 13注:乘法
2013-06-18 21:58:01
基于RV1109 Linux串口驅(qū)動調(diào)試心得分享
1、基于RV1109 Linux串口驅(qū)動調(diào)試心得在調(diào)試的時候發(fā)現(xiàn)板廠供應(yīng)商調(diào)整了 RK 原廠的原理圖設(shè)計,然后他們把串口 5 原來的 M0 的連接換成了另一路 IO M1,也就是說他們并沒有按照原廠
2022-04-08 16:01:44
學(xué)習(xí)Linux內(nèi)核過程中的心得總結(jié)
在上了Linux內(nèi)核這門課后,我對Linux內(nèi)核開始有了初步的了解,關(guān)于Linux內(nèi)核,我覺得最重要的部分還是進(jìn)程的創(chuàng)建以及切換,這是整個內(nèi)核的核心部分。以下是一些我在學(xué)習(xí)Linux內(nèi)核過程中的總結(jié):
2019-07-12 07:27:28
學(xué)習(xí)AD的心得和見解
了不少。不過前輩基本上用的都是17穩(wěn)定的版本(從18開始界面變化較大,所以看自己的習(xí)慣)AD技巧總結(jié)一些自己平時熟悉的技巧。1.原理圖設(shè)計沒有什么好講的,基本上就是結(jié)合模數(shù)電知識,然后大部分遇...
2021-12-07 10:51:45
對于嵌入式的一些認(rèn)識
,不開源,軟實時μC/OS-Ⅱ:用于單片機(jī),代碼很少,約五千行(實時性:在規(guī)定的時間內(nèi)完成規(guī)定的動作)Linux無實時性(軟實時:純軟件決定硬實時:軟件硬件共同決定)以上介紹的就是一些嵌入式的知識,希望
2020-05-25 17:40:28
少走彎路系列!嵌入式linux設(shè)備驅(qū)動調(diào)試移植的一些套路
地整合到操作系統(tǒng)的內(nèi)核中。 下面是一位嵌入式驅(qū)動工程師關(guān)于驅(qū)動設(shè)備的調(diào)試和移植的一些經(jīng)驗總結(jié)。 做linux底層軟件工作也有兩年了,算上研究生時期對底層軟件的研究,加起來也快四年了。慢慢地發(fā)現(xiàn)有必要總結(jié)
2017-11-10 16:20:40
嵌入式Linux系統(tǒng)移植的相關(guān)資料分享
,根據(jù)我們的具體目標(biāo)平臺對這源碼進(jìn)行必要的改寫(主要是修改體系結(jié)構(gòu)相關(guān)部分)。2.添加一些外設(shè)的驅(qū)動,打造一款適合于我們目標(biāo)平臺(可以是嵌入式便捷設(shè)備也可以是其它體系結(jié)構(gòu)的PC機(jī))的新操作系統(tǒng)。3.
2021-11-05 06:54:06
嵌入式學(xué)習(xí)的一些必備基礎(chǔ)技能
驅(qū)動程序編寫Skull驅(qū)動 編寫鍵盤驅(qū)動編寫I/O驅(qū)動 分析一個看門狗驅(qū)動程序 對比Linux2.6內(nèi)核與2.4內(nèi)核中字符設(shè)備驅(qū)動的不同Linux 塊設(shè)備驅(qū)動程序塊設(shè)備驅(qū)動程序工作原理 典型的塊設(shè)備
2017-08-03 09:42:29
有關(guān)VBA的一些編程總結(jié)
基本的資料,邊學(xué)邊做。以下是一些總結(jié)的問題,希望在網(wǎng)友后面用到作為一些參考。改變單元格字體的COLOR和單元格底色Workbooks(1).Sheets(“Sheet3”).Range(“1:65536”).Font.Color = RGB(0, 0, 0)Workbooks(1).Sheets(“Sheet
2021-06-28 13:59:34
有線IAP用戶程序升級的一些心得分享
如果你沒有時間,想吃“快餐”,請直接移步至文末。在上一篇博文中,我介紹了我有線IAP用戶程序升級的一些心得,有線升級并不是我的目的,無線才是,所以就有了這篇文章。這篇文章介紹的也是在實現(xiàn)單片機(jī)有線
2022-02-16 06:33:41
來一起梳理嵌入式Linux的一些知識
前言這篇文章簡單我們來一起梳理嵌入式Linux的一些知識,方便于一些想跟我一樣想要由單片機(jī)進(jìn)階到嵌入式Linux的朋友做一些參考學(xué)習(xí)。嵌入式Linux學(xué)哪些東西1、認(rèn)識Linux學(xué)單片機(jī)的朋友有些有
2022-01-05 07:18:01
梳理嵌入式Linux的一些知識
前言這篇文章簡單我們來一起梳理嵌入式Linux的一些知識,方便于一些想跟我一樣想要由單片機(jī)進(jìn)階到嵌入式Linux的朋友做一些參考學(xué)習(xí)。嵌入式Linux學(xué)哪些東西1、認(rèn)識Linux學(xué)單片機(jī)的朋友有些有
2021-11-04 07:33:30
求大神分享關(guān)于msp430系列單片機(jī)的一些入門心得
msp430的特點是什么?求大神分享關(guān)于msp430系列單片機(jī)的一些入門心得
2021-09-30 07:08:00
淺談Linux內(nèi)核驅(qū)動心得
都要難點,而且學(xué)習(xí)的內(nèi)容量也是比較多。因此在學(xué)習(xí)嵌入式ARM的初級階段是隨處碰壁,每天都在遭受打擊,例如在移植bootloader時,雖然按照網(wǎng)上的一些方法移植成功了,但只知道復(fù)制和粘貼要修改的代碼
2012-02-22 10:01:03
深度無盤多配置一些經(jīng)驗心得
`深度無盤多配置一些經(jīng)驗心得 在論壇上看到有不少兄弟在討論說做無盤的多配置問題,看到有不少兄弟說喜歡做成單包多配置,也有說做成多包的比較好??傊蠹叶加凶约旱目捶?,也蠻有道理的。我今天就是談下自
2011-07-19 09:22:08
簡單總結(jié)一些造成電源完整性的問題
造成電源完整性的問題有很過,之前也和大家分享過一些。但這些問題都不是獨立的,他們之間的原理是互通,可能解決了這個問題另外一個問題就解決了。今天和大家一起簡單總結(jié)一些造成電源完整性的問題:1.同步開關(guān)
2021-10-29 08:59:35
給嵌入式初學(xué)者的一些建議
找就可以了,以后遇到的多了,也就記住了,遇到的少的,忘記也就忘記了。還有,不要直接閱讀linux內(nèi)核源代碼,看一些自己把頭撞破也想不明白的事,會打擊初學(xué)者的積極性,要循序漸進(jìn),今天學(xué)個做個led,明天
2016-11-02 11:47:21
講述了一些快速配置驅(qū)動的方法
建議賽前大家好好看看這里的客觀題,過一遍有個印象;模電部分的博文中有一個當(dāng)時看書總結(jié)的一點小知識點;最主要的是藍(lán)橋杯驅(qū)動準(zhǔn)備-----對官方參考驅(qū)動的修改和編寫方式和遇到的一些BUG及經(jīng)驗這個博文
2022-01-27 06:31:25
請問有人能給我一些在Linux中提出MCP25625的指針嗎?
嗨,我是新來的FW。有人能給我一些在Linux中提出MCP25625的指針嗎?我看到了一些用于MCP2515的Linux驅(qū)動程序,我不確定它們是否可以直接移植到MCP25625。非常感謝。謝謝
2019-06-11 10:48:04
調(diào)試STM32硬件IIC從機(jī)的一些心得
IIC從機(jī)的一些心得體會。硬件IIC主機(jī)通信見另一篇文章:傳送門 。硬件平臺:STM32F205軟件平臺:keil v5函數(shù)庫:標(biāo)準(zhǔn)庫硬件IIC從機(jī)初始化下面看下STM32中IIC的...
2021-08-11 09:34:47
通過串口調(diào)試助手輸入命令運行一些調(diào)試函數(shù)
對于做linux開發(fā)的研發(fā)人員來說,大家都喜歡通過輸入指令符來執(zhí)行一些命令操作,如果在MCU編程過程中有一個類似linux的shell命令工具可以通過串口調(diào)試助手輸入命令然后運行一些調(diào)試函數(shù),將會
2021-11-03 08:56:26
《Linux設(shè)備驅(qū)動開發(fā)詳解》第23章、Linux設(shè)備驅(qū)動的移植
《Linux設(shè)備驅(qū)動開發(fā)詳解》第23章、Linux設(shè)備驅(qū)動的移植
2017-10-27 10:58:139
lwip移植說明及心得
lwip是一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。Lwip既可以移植到操作系統(tǒng)上,又可以在無操作系統(tǒng)的情況下獨立運行。下面我們來看看lwip移植說明及心得。
2017-12-11 16:06:3219515
ntp的移植心得分享
最近做了一下ntp的移植,把心得和大家共享一下,雖然網(wǎng)上有很多關(guān)于ntp的移植文件,但是都很簡單,好像沒有遇到任何的問題,可是我卻遇到了不少啊。 第一步:設(shè)定交叉編譯器的路徑 初學(xué)者經(jīng)常漏掉的一步,萬一沒設(shè)定就是以主機(jī)的gcc在編,變成主機(jī)執(zhí)行了。
2018-05-29 15:27:014653
如何在DM6446 GPIO中進(jìn)行LINUX的驅(qū)動移植詳細(xì)程序說明
說到LINUX 驅(qū)動移植,沒有移植過的朋友,或剛剛進(jìn)入LINUX領(lǐng)域的朋友,最好去看看《LINUX 設(shè)備驅(qū)動程序》第三版,有個理論或感性的認(rèn)識。該版本是基于2.6.10的基礎(chǔ)上描述的,經(jīng)典讀物,
2019-05-08 18:19:001
嵌入式Linux串口擴(kuò)展的驅(qū)動設(shè)計方案解析
本方案介紹WK2X系列UARTs在嵌入式Linux(Android)下擴(kuò)展多串口方案,尤其是嵌入式Linux串口擴(kuò)展的驅(qū)動設(shè)計方案的思路和原則。
2020-08-31 15:35:121197
從串口驅(qū)動到Linux驅(qū)動模型
本文通過對Linux下串口驅(qū)動的分析。由最上層的C庫。到操作系統(tǒng)系統(tǒng)調(diào)用層的封裝。再到tty子系統(tǒng)的核心。再到一系列線路規(guī)程。再到最底層的硬件操作。 對Linux中的tty子系統(tǒng)進(jìn)行簡要的說明
2020-11-04 14:50:312399
ATWILC器件Linux移植指南
本用戶指南介紹了如何將 ATWILC1000 和 ATWILC3000 Linux 驅(qū)動程序移植到另一個平臺,以及移植驅(qū)動程序需要進(jìn)行哪些修改
2021-04-29 10:10:138
【Linux】嵌入式Linux系統(tǒng)的移植(上篇:交叉編譯器、連接方式)
嵌入式Linux系統(tǒng)移植嵌入式Linux系統(tǒng)移植是進(jìn)行Linux驅(qū)動開發(fā)的基礎(chǔ),如果連Linux系統(tǒng)移植都完成不了,那就更不用說驅(qū)動開發(fā)了。因此,Linux系統(tǒng)移植至關(guān)重要。嵌入式Linux系統(tǒng)
2021-11-01 16:57:0814
(一)嵌入式linux移植使用ch340
有各種版本的 ch340驅(qū)動.3、移植一個minicom到你的開發(fā)板里面,正點原子有教程,適合很多個平臺,只需要更換你的交叉編譯器即可,該工具就是一個linux下的串口工具。1.2、開始移...
2021-11-01 17:59:1114
[深度理解嵌入式linux系統(tǒng)移植]深度理解嵌入式linux系統(tǒng)移植
-linux內(nèi)核工程與編譯系統(tǒng)第七章-linux內(nèi)核啟動流程分析第八章-linux移植準(zhǔn)備及最小系統(tǒng)構(gòu)建第九章-linux網(wǎng)卡驅(qū)動移植第十章-linux混雜設(shè)備驅(qū)動第十一章-linuxI2C驅(qū)動移植第十二章-linuxSPI驅(qū)動移植第十三章-Nand Flash 驅(qū)動移植第十四章-SD.
2021-11-02 13:21:2116
Linux單片機(jī)串口通信總結(jié)
實驗總結(jié)程序組織串口調(diào)試Linux與單片機(jī)串口通信?? 近期要做一個機(jī)械臂的小項目,作為ROS和MoveIt的實踐平臺,上位機(jī)和工控機(jī)之間暫定為串口通信。上位機(jī):Ubuntu18.04虛擬機(jī)工控機(jī):STC89C51,編程環(huán)境為keil5?? 由于選擇了早已過時的C51作為下位機(jī),互聯(lián)網(wǎng)上并沒有太多相關(guān)資
2021-11-23 18:06:199
linux移植MPU6050的I2C驅(qū)動
有MPU6050的例程,測試后很好用,如下圖(夢幻聯(lián)動一下:樹莓派PICO+freeRTOS)因為pico上有現(xiàn)成的能用的例程,所以改一改之后直接移植到linux上首先介紹一下linux下的I2C框架①、I2C 總線驅(qū)動,I2C 總線驅(qū)動就是 SOC 的 I2C 控制器驅(qū)動,也叫做 I2C 適配器
2021-12-06 14:21:0910
STM32 USB轉(zhuǎn)串口驅(qū)動移植到SylixOS中遇到的問題總結(jié)
轉(zhuǎn)串口功能時對該USB庫進(jìn)行了移植。由于該USB庫的實現(xiàn)是基于STM32的裸機(jī)代碼實現(xiàn),因此在移植的過程中,不需要做過多的修改。 下面章節(jié)主要介紹在移植STM32的USB轉(zhuǎn)串口驅(qū)動到SylixOS下遇
2021-12-27 19:06:498
CH9434嵌入式Linux與安卓系統(tǒng)驅(qū)動移植和使用教程
CH9434是一款SPI轉(zhuǎn)四串口轉(zhuǎn)接芯片,提供四組全雙工的9線異步串口,用于單片機(jī)/嵌入式/安卓系統(tǒng)擴(kuò)展異步串口。提供25路GPIO,以及支持RS485收發(fā)控制引腳TNOW。本篇基于STM32MP157處理器平臺,介紹CH9434在嵌入式Linux系統(tǒng)/安卓系統(tǒng)的驅(qū)動移植和使用方法。
2023-04-12 11:55:553632
開發(fā)心得(2):Android智能硬件的關(guān)鍵——串口通信
通過總結(jié)大大小小多個Andriod智能硬件開發(fā)項目,記錄了智能硬件產(chǎn)品開發(fā)的全流程、智能硬件開發(fā)所涉及的技術(shù)體系概述的心得,并附上在主板選型、串口通信、屏幕顯示、常用外接設(shè)備上一些品類的特點和差異
2022-07-04 16:51:36459
總結(jié):Android智能硬件開發(fā)心得
通過總結(jié)大大小小多個Andriod智能硬件開發(fā)項目,記錄了智能硬件產(chǎn)品開發(fā)的全流程、智能硬件開發(fā)所涉及的技術(shù)體系概述的心得,并附上在主板選型、串口通信、屏幕顯示、常用外接設(shè)備上一些品類的特點和差異
2022-10-09 09:33:55622
Linux驅(qū)動移植 Linux系統(tǒng)架構(gòu)優(yōu)點
系統(tǒng)移植 linux 驅(qū)動移植 移植是說同樣的一個 linux 操作系統(tǒng),我們可以跑到不同的硬件上面,我們把操作系統(tǒng)移植到不同的硬件上面,這個過程叫做移植。設(shè)備驅(qū)動移植步驟,如下圖所示: 應(yīng)用軟件
2023-07-27 17:06:06516
一文總結(jié)linux的platform驅(qū)動
在linux設(shè)備驅(qū)動中,有許多沒有特定總線的外設(shè)驅(qū)動,在實際開發(fā)中,又需要使用到總線、驅(qū)動和設(shè)備模型這三個概念,故而linux提供了platform這個虛擬總線,掛接在platform總線上的驅(qū)動稱為platform驅(qū)動
2023-10-16 16:45:40369
評論
查看更多