串口驅(qū)動(dòng)的源文件一般是使用drivers/serial/8250.c文件,或該文件的稍作修改。這是因?yàn)榇蠖嗟拇诮涌诘牟僮骷拇嫫鞫际欠舷嚓P(guān)的定義,都是基本一樣的。那么在移植串口驅(qū)動(dòng)時(shí),一般是為該驅(qū)動(dòng)添加我們的串口接口設(shè)備。一般來(lái)說(shuō),串口接口設(shè)備在board文件中添加或在板級(jí)目錄下添加專屬的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,
},
};
這個(gè)platform_device對(duì)象的私有數(shù)據(jù)指成員向一個(gè)plat_serial8250_port類型的數(shù)組。在這里該數(shù)組描述了三個(gè)串口接口的基本信息。當(dāng)8250驅(qū)動(dòng)檢測(cè)到這個(gè)platform_device對(duì)象后,就分析該對(duì)象的私有數(shù)據(jù)成員指向的那個(gè)plat_serial8250_port類型的數(shù)組。然后根據(jù)該數(shù)組的每個(gè)成員描述的信息生成一個(gè)串口對(duì)象設(shè)備。
實(shí)現(xiàn)了這個(gè)platform_device結(jié)構(gòu)體后,把這個(gè)對(duì)象注冊(cè)即可。但這個(gè)對(duì)象的name必須是serial8250。否則8250驅(qū)動(dòng)檢測(cè)不到這個(gè)樣的設(shè)備。
如果注冊(cè)順利且工作正常,那么在驅(qū)動(dòng)加載時(shí)會(huì)打印出串口接口探測(cè)信息:
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ū)動(dòng)檢測(cè)到的第一個(gè)platform_device對(duì)象。如果檢測(cè)到第二個(gè)platform對(duì)象,會(huì)打印成serial8250.1;如此類推。
0x40080000表示串口接口寄存器物理地址的基地址;
irq描述串口接口所用的中斷;
16550A表示該串口接口的類型。有可能這個(gè)類型的名字不是我們所預(yù)期的,但是只要該類型的TX/RX FIFO長(zhǎng)度和我們實(shí)際串口接口的一樣,就可以接受。
ttyS0/1/2表示串口設(shè)備的名字
如果注冊(cè)成功,則在/dev/目錄下生成: ttyS0,ttyS1,ttyS2的設(shè)備文件節(jié)點(diǎn)。同時(shí)在/sys/devices/platform/目錄下,生成serial8250,serial8250.0目錄。
這時(shí)即可對(duì)串口的各設(shè)備文件節(jié)點(diǎn)進(jìn)行測(cè)試。
下面詳細(xì)介紹plat_serial8250_port這個(gè)對(duì)象。我們看一段上面的代碼:
{
.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:
該成員描述的該串口接口寄存器虛擬地址的基地址。在初始化該成員時(shí),需要自己把該串口接口寄存器的物理地址映射到虛擬地址空間。并且該映射工作需要在內(nèi)核的板級(jí)初始化階段完成。
mapbase:
該成員描述的該串口接口寄存器物理地址的基地址。其實(shí)只要初始化了mapbase成員,上面的membase成員就可以不必初始化了。因?yàn)?250驅(qū)動(dòng)如果檢測(cè)到只初始化了mapbase成員而membase為NULL,則自動(dòng)把該串口接口寄存器的物理地址空間映射到虛擬地址空間。
irq:
該成員描述的是該串口接口使用的中斷號(hào)。
uartclk:
該成員描述了該串口接口使用的時(shí)鐘頻率。
regshift:
該成員表示:在訪問(wèn)該串口接口的某個(gè)寄存器時(shí),需把該寄存器的號(hào)左移多少位然后加基地址(不管是物理或虛擬地址)才能得能到這個(gè)寄存器的址址。
iotype:
該成員表示該串口接口寄存器的地址類型,可以取值以下的其中一個(gè):
UPIO_PORT 端口地址,8位
UPIO_HUB6
UPIO_MEM 8位的內(nèi)存地址
UPIO_MEM32 32位的內(nèi)存地址
UPIO_AU
UPIO_TSI
UPIO_DWAPB
UPIO_RM9000
一般來(lái)說(shuō),如果該成員初始化為UPIO_MEM或UPIO_PORT,那么regshift成員應(yīng)該為0;如果該成員初始化為UPIO_MEM32,那么regshift成員應(yīng)該為2.
flags:
UPF_BOOT_AUTOCONF 表示自動(dòng)探測(cè)串口類型,這個(gè)一般是需要的
UPF_SKIP_TEST 表示在探測(cè)串口類型時(shí),是否測(cè)試地址的可訪問(wèn)性。這在調(diào)試階段是需要的。
除了flags,上面的各個(gè)成員都必須嚴(yán)格設(shè)置正確才能保證串口接口被正確探測(cè)和初始化。
如果串口接口類型沒(méi)有被探測(cè)出來(lái),或者FIFO長(zhǎng)度不對(duì),這需要考慮寄存器的訪問(wèn)是否正確,這包括:基地址是否正確,regshift和iotype是否正確,時(shí)鐘頻率是否正確。
如果探測(cè)信息也沒(méi)有,或者接口數(shù)量不對(duì)。那么請(qǐng)?jiān)趍em 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
這兩項(xiàng)的數(shù)字等于在8250注冊(cè)串口接口的總數(shù)。
以下課程可免費(fèi)試聽(tīng)C語(yǔ)言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費(fèi)聽(tīng)課了。
宋工企鵝號(hào):35--24-65--90-88 Tel/WX:173--17--95--19--08
Linux串口驅(qū)動(dòng)移植的一些心得總結(jié)
相關(guān)推薦
熱點(diǎn)推薦
總結(jié)一些在LwIP移植的時(shí)候體會(huì)
之前做了很多linux驅(qū)動(dòng)開(kāi)發(fā),也了解到RT-Thread是類linux的一種RTOS,也怪自己太直,忘記這點(diǎn)了,一直在這個(gè)錯(cuò)誤上面糾結(jié),鉆牛角尖了,最后看了一篇文檔才恍然大悟。解決辦法就是:在
2018-06-08 09:33:12
20378
20378
設(shè)計(jì)達(dá)人分享干貨:LED驅(qū)動(dòng)設(shè)計(jì)心得
對(duì)于新手來(lái)講,LED驅(qū)動(dòng)設(shè)計(jì)并不是一件容易的事兒,針對(duì)這方面問(wèn)題,小編特別總結(jié)了設(shè)計(jì)達(dá)人的一些在工作中需要注意的問(wèn)題和親身的設(shè)計(jì)心得進(jìn)行分享。
2015-01-12 15:33:47
3480
3480介紹一些實(shí)用的Linux命令
作為一名軟件開(kāi)發(fā)人員,掌握 Linux 命令是必不可少的技能。即使你使用 Windows 或 macOS,你總會(huì)遇到需要使用 Linux 命令的場(chǎng)合。例如,大多數(shù) Docker 鏡像都基于 Linux 系統(tǒng)。要進(jìn)行 DevOps 工作,你需要熟悉Linux,至少要了解一些常用命令。
2023-08-01 16:12:32
701
701
Linux串口驅(qū)動(dòng)移植的一些心得總結(jié)
串口驅(qū)動(dòng)的源文件一般是使用drivers/serial/8250.c文件,或該文件的稍作修改。這是因?yàn)榇蠖嗟?b class="flag-6" style="color: red">串口接口的操作寄存器都是符合相關(guān)的定義,都是基本一樣的。那么在移植串口驅(qū)動(dòng)時(shí),一般是為該
2018-03-03 14:13:06
Linux驅(qū)動(dòng)之基本理論常識(shí)總結(jié)
0 引言前面Linux專題中關(guān)于Linux下系統(tǒng)編程總結(jié)了17篇博文,主要是為了提高Linux下的C編程應(yīng)用能力,熟悉Linux編程應(yīng)用環(huán)境,從此篇博文起開(kāi)始Linux驅(qū)動(dòng)的總結(jié),后面計(jì)劃加一些綜合
2021-07-01 10:38:16
Linux鏈表操作心得體會(huì)
在研究linux內(nèi)核自帶的dmatest.c驅(qū)動(dòng)程序過(guò)程中發(fā)現(xiàn)有部分的鏈接操作,非常迷惑,故在此記錄下來(lái)一些查閱資料后的心得體會(huì)。
2019-07-26 08:15:48
linux下的Gsensor驅(qū)動(dòng)移植
有沒(méi)有大神在linux下做過(guò)Gsensor的驅(qū)動(dòng)移植,想看看分享的經(jīng)驗(yàn),附件是我在移植的時(shí)候遇到的一些問(wèn)題,編譯的時(shí)候就出錯(cuò),原廠那邊沒(méi)人精通這方面的,求指教
2016-12-17 09:01:25
一些自己的心得和干貨分享
,有優(yōu)秀的導(dǎo)師指引?! ?duì)于嵌入式學(xué)習(xí)來(lái)講,每個(gè)人的嵌入式開(kāi)發(fā)學(xué)習(xí)心得都是不一樣的,linux內(nèi)核的編程學(xué)習(xí)過(guò)程,讀一些優(yōu)秀的代碼時(shí)很有必要的,只要自己肯努力用心,在星創(chuàng)客很容易就能學(xué)好,未來(lái)就業(yè)也有
2017-12-01 11:08:03
總結(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 簡(jiǎn)介;2、Linux 系統(tǒng)
2017-07-29 15:07:59
ARM與嵌入式linux的一些入門建議
一份教程,這個(gè)教程中的例程并不是我為我們所代理的板子寫(xiě)的,是我在我們學(xué)院實(shí)驗(yàn)室拿的,英培特為他們自己 的實(shí)驗(yàn)箱寫(xiě)的,不過(guò)很有借鑒意義,可以作為一份有價(jià)值的參考。第二,使用linux系統(tǒng)進(jìn)行一些
2020-04-22 10:46:31
STM32開(kāi)發(fā)過(guò)程中的一些心得及總結(jié)
JTAG設(shè)備STM32 匯編匯編中含C語(yǔ)言注釋數(shù)字信號(hào)處理濾波IIR濾波器本人STM32開(kāi)發(fā)過(guò)程中的一些心得及總結(jié)。比較好的文章加密STM32MCU加密原理與方法 (很詳細(xì))驅(qū)動(dòng)開(kāi)發(fā)啟動(dòng)使用CCMRAM內(nèi)...
2021-08-17 08:50:02
laview中強(qiáng)制類型轉(zhuǎn)換控件使用的一些心得
Labview中有個(gè)控件叫“強(qiáng)制類型轉(zhuǎn)換”,以前一直沒(méi)弄明白怎么使用它,今天仔細(xì)研究了一下,發(fā)現(xiàn)了使用的一些心得,拿出來(lái)與大家分享,如有不足請(qǐng)大家指正。由于內(nèi)容較長(zhǎng),帖子里不好寫(xiě),就做成附件了
2016-01-19 20:26:06
【轉(zhuǎn)帖】嵌入式學(xué)習(xí)的一些基礎(chǔ)技能
驅(qū)動(dòng)程序編寫(xiě)Skull驅(qū)動(dòng) 編寫(xiě)鍵盤驅(qū)動(dòng)編寫(xiě)I/O驅(qū)動(dòng) 分析一個(gè)看門狗驅(qū)動(dòng)程序 對(duì)比Linux2.6內(nèi)核與2.4內(nèi)核中字符設(shè)備驅(qū)動(dòng)的不同Linux 塊設(shè)備驅(qū)動(dòng)程序塊設(shè)備驅(qū)動(dòng)程序工作原理 典型的塊設(shè)備驅(qū)動(dòng)
2017-08-03 14:50:35
使用STM32cubemx進(jìn)行一些串口
STM32cubemx_W5500_TCP和Modbus/TCP以STM32f103zet6開(kāi)發(fā)板為平臺(tái)使用STM32cubemx進(jìn)行一些串口,spi等接口的初始化。使用的是野火的w5500模塊,以
2022-01-19 07:51:52
使用WiFi的過(guò)程中總結(jié)的一些經(jīng)驗(yàn)
簡(jiǎn)述在我們做項(xiàng)目開(kāi)發(fā)中,經(jīng)常會(huì)用到WiFi,這次給大家分享一下我在使用WiFi的過(guò)程中總結(jié)的一些經(jīng)驗(yàn),這次用到的是esp8266WiFi模塊,如圖所示。引腳連接:GND:接地GPIO16:其實(shí)是
2021-08-05 07:30:19
使用mpu陀螺儀的一些心得分享
淺談自己使用mpu陀螺儀的一些心得。mpu6050/mpu6500驅(qū)動(dòng)這里是用的原子哥的用虛擬IIC驅(qū)動(dòng)mpu6050代碼,之前我一直是用硬件IIC驅(qū)動(dòng),但是聽(tīng)大神說(shuō)虛擬IIC比硬件IIC要穩(wěn)定
2022-02-10 07:15:09
關(guān)于串口的一些分享
串口是學(xué)習(xí)單片機(jī)重要的一項(xiàng),用來(lái)顯示數(shù)據(jù)和一些簡(jiǎn)單的控制命令非常方便,經(jīng)過(guò)筆者這幾天的測(cè)試,總結(jié)出了一些需要注意的地方:(以下代碼全部基于單片機(jī)STM32F407實(shí)現(xiàn))1、關(guān)于發(fā)送除非你勾選了串口
2016-10-13 10:43:35
分享PCB 設(shè)計(jì)的一些心得及入門資料
各位朋友:學(xué)習(xí)PCB設(shè)計(jì)已有一個(gè)月了,終于能自行設(shè)計(jì)簡(jiǎn)單的PCB板了,在近一個(gè)月的學(xué)習(xí)過(guò)程中有了些學(xué)習(xí)心得,給各位初學(xué)PCB的朋友參考.剛開(kāi)始學(xué)的時(shí)候,找各種關(guān)于PCB的論壇進(jìn)行學(xué)習(xí),但看到別人發(fā)
2020-12-23 10:00:21
剛接觸matlab的一些心得。
剛接觸matlab的一些心得。是一些非常非常淺顯的數(shù)學(xué)方面的應(yīng)用。貼出來(lái)了!1.普通的數(shù)值表達(dá)式計(jì)算略了,直接輸入表達(dá)式回車就可以了例: 3^2+2*2+sin(pi) ans = 13注:乘法
2013-06-18 21:58:01
基于RV1109 Linux串口驅(qū)動(dòng)調(diào)試心得分享
1、基于RV1109 Linux串口驅(qū)動(dòng)調(diào)試心得在調(diào)試的時(shí)候發(fā)現(xiàn)板廠供應(yīng)商調(diào)整了 RK 原廠的原理圖設(shè)計(jì),然后他們把串口 5 原來(lái)的 M0 的連接換成了另一路 IO M1,也就是說(shuō)他們并沒(méi)有按照原廠
2022-04-08 16:01:44
基于stm32F103移植FreeROTS移植心得總結(jié),絕對(duì)實(shí)用
基于stm32F103移植FreeROTS移植心得總結(jié),絕對(duì)實(shí)用
2021-12-14 06:43:24
學(xué)習(xí)Linux內(nèi)核過(guò)程中的心得總結(jié)
在上了Linux內(nèi)核這門課后,我對(duì)Linux內(nèi)核開(kāi)始有了初步的了解,關(guān)于Linux內(nèi)核,我覺(jué)得最重要的部分還是進(jìn)程的創(chuàng)建以及切換,這是整個(gè)內(nèi)核的核心部分。以下是一些我在學(xué)習(xí)Linux內(nèi)核過(guò)程中的總結(jié):
2019-07-12 07:27:28
少走彎路系列!嵌入式linux設(shè)備驅(qū)動(dòng)調(diào)試移植的一些套路
地整合到操作系統(tǒng)的內(nèi)核中。 下面是一位嵌入式驅(qū)動(dòng)工程師關(guān)于驅(qū)動(dòng)設(shè)備的調(diào)試和移植的一些經(jīng)驗(yàn)總結(jié)。 做linux底層軟件工作也有兩年了,算上研究生時(shí)期對(duì)底層軟件的研究,加起來(lái)也快四年了。慢慢地發(fā)現(xiàn)有必要總結(jié)
2017-11-10 16:20:40
想為樹(shù)莓派3移植內(nèi)核并編寫(xiě)一些驅(qū)動(dòng)如何實(shí)現(xiàn)?
想為樹(shù)莓派3移植內(nèi)核并編寫(xiě)一些驅(qū)動(dòng),怎么做。
2020-08-05 23:50:20
有關(guān)VBA的一些編程總結(jié)
基本的資料,邊學(xué)邊做。以下是一些總結(jié)的問(wèn)題,希望在網(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用戶程序升級(jí)的一些心得分享
如果你沒(méi)有時(shí)間,想吃“快餐”,請(qǐng)直接移步至文末。在上一篇博文中,我介紹了我有線IAP用戶程序升級(jí)的一些心得,有線升級(jí)并不是我的目的,無(wú)線才是,所以就有了這篇文章。這篇文章介紹的也是在實(shí)現(xiàn)單片機(jī)有線
2022-02-16 06:33:41
梳理嵌入式Linux的一些知識(shí)
前言這篇文章簡(jiǎn)單我們來(lái)一起梳理嵌入式Linux的一些知識(shí),方便于一些想跟我一樣想要由單片機(jī)進(jìn)階到嵌入式Linux的朋友做一些參考學(xué)習(xí)。嵌入式Linux學(xué)哪些東西1、認(rèn)識(shí)Linux學(xué)單片機(jī)的朋友有些有
2021-11-04 07:33:30
求大神分享關(guān)于msp430系列單片機(jī)的一些入門心得
msp430的特點(diǎn)是什么?求大神分享關(guān)于msp430系列單片機(jī)的一些入門心得
2021-09-30 07:08:00
深度無(wú)盤多配置一些經(jīng)驗(yàn)心得
`深度無(wú)盤多配置一些經(jīng)驗(yàn)心得 在論壇上看到有不少兄弟在討論說(shuō)做無(wú)盤的多配置問(wèn)題,看到有不少兄弟說(shuō)喜歡做成單包多配置,也有說(shuō)做成多包的比較好。總之大家都有自己的看法,也蠻有道理的。我今天就是談下自
2011-07-19 09:22:08
講述了一些快速配置驅(qū)動(dòng)的方法
建議賽前大家好好看看這里的客觀題,過(guò)一遍有個(gè)印象;模電部分的博文中有一個(gè)當(dāng)時(shí)看書(shū)總結(jié)的一點(diǎn)小知識(shí)點(diǎn);最主要的是藍(lán)橋杯驅(qū)動(dòng)準(zhǔn)備-----對(duì)官方參考驅(qū)動(dòng)的修改和編寫(xiě)方式和遇到的一些BUG及經(jīng)驗(yàn)這個(gè)博文
2022-01-27 06:31:25
請(qǐng)問(wèn)有人能給我一些在Linux中提出MCP25625的指針嗎?
嗨,我是新來(lái)的FW。有人能給我一些在Linux中提出MCP25625的指針嗎?我看到了一些用于MCP2515的Linux驅(qū)動(dòng)程序,我不確定它們是否可以直接移植到MCP25625。非常感謝。謝謝
2019-06-11 10:48:04
調(diào)試STM32硬件IIC從機(jī)的一些心得
IIC從機(jī)的一些心得體會(huì)。硬件IIC主機(jī)通信見(jiàn)另一篇文章:傳送門 。硬件平臺(tái):STM32F205軟件平臺(tái):keil v5函數(shù)庫(kù):標(biāo)準(zhǔn)庫(kù)硬件IIC從機(jī)初始化下面看下STM32中IIC的...
2021-08-11 09:34:47
C++面向?qū)ο箨P(guān)于MFC的一些簡(jiǎn)單應(yīng)用和總結(jié)
C++面向?qū)ο箨P(guān)于MFC的一些簡(jiǎn)單應(yīng)用和總結(jié).
2015-11-09 17:15:36
1
1一些關(guān)于iOS面試會(huì)問(wèn)到的問(wèn)題總結(jié)
丁香園iOS電話面試問(wèn)題總結(jié)2017-06-24 11:21丁香園/程序設(shè)計(jì)/iOS今天下午去面試去面試一家初創(chuàng)公司,然后又接到到了丁香園的電話面試,這篇blog記錄一下面試的一些問(wèn)題,有的回答
2017-09-25 15:18:22
0
0《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第23章、Linux設(shè)備驅(qū)動(dòng)的移植
《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第23章、Linux設(shè)備驅(qū)動(dòng)的移植
2017-10-27 10:58:13
9
9lwip移植說(shuō)明及心得
lwip是一套用于嵌入式系統(tǒng)的開(kāi)放源代碼TCP/IP協(xié)議棧。Lwip既可以移植到操作系統(tǒng)上,又可以在無(wú)操作系統(tǒng)的情況下獨(dú)立運(yùn)行。下面我們來(lái)看看lwip移植說(shuō)明及心得。
2017-12-11 16:06:32
21663
21663
總結(jié)一些常見(jiàn)網(wǎng)絡(luò)相關(guān)的內(nèi)核參數(shù)
也許你有經(jīng)歷,想了解一些內(nèi)核參數(shù)的作用,然后去網(wǎng)上搜了很多文檔,結(jié)果發(fā)現(xiàn)大多都一樣,而且沒(méi)有人能夠說(shuō)的很詳細(xì)。下面是我總結(jié)的幾個(gè)跟網(wǎng)絡(luò)相關(guān)的參數(shù),希望對(duì)你有所幫助。
2018-01-16 16:14:25
5356
5356
ntp的移植心得分享
最近做了一下ntp的移植,把心得和大家共享一下,雖然網(wǎng)上有很多關(guān)于ntp的移植文件,但是都很簡(jiǎn)單,好像沒(méi)有遇到任何的問(wèn)題,可是我卻遇到了不少啊。 第一步:設(shè)定交叉編譯器的路徑 初學(xué)者經(jīng)常漏掉的一步,萬(wàn)一沒(méi)設(shè)定就是以主機(jī)的gcc在編,變成主機(jī)執(zhí)行了。
2018-05-29 15:27:01
5602
5602淺析串口通信的一些基本概念及常見(jiàn)問(wèn)題
下面先講一講串口通信的一些基本概念,術(shù)語(yǔ)。如果對(duì)串口通信比較熟悉的,就當(dāng)復(fù)習(xí)復(fù)習(xí),如果哪里講錯(cuò)或不到位,也可以及時(shí)指出,當(dāng)作一塊交流交流。
2018-11-11 11:17:07
7386
7386移植Bootloader的過(guò)程總結(jié)資料說(shuō)明
linux系統(tǒng)上電后啟動(dòng)過(guò)程:---啟動(dòng)引導(dǎo)加載程序bootloader(一些CPU在運(yùn)行bootloader之前,會(huì)先運(yùn)行一段固化的程序)。
---》啟動(dòng)內(nèi)核
---》掛載根文件系統(tǒng)
其中
2018-12-11 17:11:27
11
1151單片機(jī)串口通信的一些基礎(chǔ)知識(shí)免費(fèi)下載
本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)串口通信的一些基礎(chǔ)知識(shí)免費(fèi)下載。
2019-08-21 17:31:00
9
9關(guān)于單片機(jī)的一些按鍵問(wèn)題和代碼詳細(xì)資料總結(jié)
本文檔的主要內(nèi)容詳細(xì)介紹的是關(guān)于單片機(jī)的一些按鍵問(wèn)題和代碼詳細(xì)資料總結(jié)免費(fèi)下載。
2019-06-18 17:44:00
2
22019美西展一些總結(jié)分享
2019年第54屆美國(guó)西部國(guó)際安防展(以下簡(jiǎn)稱“美西展”)已經(jīng)結(jié)束,近期國(guó)外安防媒體及行業(yè)人士亦紛紛總結(jié)了美西展的參展感受,本文摘選一些觀點(diǎn)進(jìn)行分享,望有助于國(guó)內(nèi)從業(yè)人士了解國(guó)外市場(chǎng)。
2019-05-07 14:26:53
3876
3876梳理嵌入式Linux的一些知識(shí)
學(xué)單片機(jī)的朋友有些已經(jīng)有一些Linux基礎(chǔ)了,但也不乏有些朋友沒(méi)用過(guò)Linux,甚至有些初學(xué)的讀者朋友沒(méi)聽(tīng)說(shuō)過(guò)Linux,為了照顧這些朋友,這里簡(jiǎn)單地認(rèn)識(shí)一下Linux:
2020-07-01 16:56:46
2657
2657關(guān)于學(xué)習(xí)Linux的一些建議
不管是在生活還是工作中,每個(gè)人都會(huì)逐漸養(yǎng)成一些小習(xí)慣。壞習(xí)慣一旦形成就很難改正,所在在系統(tǒng)學(xué)習(xí) Linux 之前,給大家一些建議,刻意去培養(yǎng)一些好的習(xí)慣,對(duì)自己是很有利的。
2020-07-14 14:22:06
881
881如何才能入門ARM與LINUX一些建議說(shuō)明
由于很多人總問(wèn)這個(gè)問(wèn)題,所以這里做一個(gè)總結(jié)供大家參考。這里必須先說(shuō)明,以下的步驟都是針對(duì)Linux 系統(tǒng)的,并不面向WinCE 。也許你會(huì)注意到, 現(xiàn)在做嵌入式的人中,做linux 研究的人遠(yuǎn)比
2020-09-09 16:42:41
12
12從串口驅(qū)動(dòng)到Linux驅(qū)動(dòng)模型
本文通過(guò)對(duì)Linux下串口驅(qū)動(dòng)的分析。由最上層的C庫(kù)。到操作系統(tǒng)系統(tǒng)調(diào)用層的封裝。再到tty子系統(tǒng)的核心。再到一系列線路規(guī)程。再到最底層的硬件操作。 對(duì)Linux中的tty子系統(tǒng)進(jìn)行簡(jiǎn)要的說(shuō)明。從
2020-11-04 14:50:31
3283
3283給Linux初學(xué)者的一些經(jīng)驗(yàn)與建議與學(xué)習(xí)方法及其學(xué)習(xí)方向
這篇文章是寫(xiě)給 Linux 初學(xué)者的,我會(huì)分享一些作為初學(xué)者應(yīng)該知道的一些東西,這些內(nèi)容都是本人從事 Linux 開(kāi)發(fā)工作多年的心得體會(huì),相信會(huì)對(duì)初學(xué)者有所幫助。
2021-03-19 11:33:43
3504
3504總結(jié)一些常用的電平標(biāo)準(zhǔn)資料下載
電子發(fā)燒友網(wǎng)為你提供總結(jié)一些常用的電平標(biāo)準(zhǔn)資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
2021-04-13 08:46:05
3
3ATWILC器件Linux移植指南
本用戶指南介紹了如何將 ATWILC1000 和 ATWILC3000 Linux 驅(qū)動(dòng)程序移植到另一個(gè)平臺(tái),以及移植驅(qū)動(dòng)程序需要進(jìn)行哪些修改
2021-04-29 10:10:13
8
8TensorFlow主題演講中涉及的一些更新總結(jié)
感謝各位參加我們的 2021 年線上 I/O 直播大會(huì)!雖然沒(méi)能面對(duì)面交流,但我們?nèi)韵M衲甏舜位顒?dòng)的便利性更勝以往。在本文中,我們將總結(jié)主題演講中涉及的一些更新。您可以觀看下面的主題演講視頻,并在
2021-05-28 14:19:39
2248
2248【Linux】嵌入式Linux系統(tǒng)的移植(上篇:交叉編譯器、連接方式)
嵌入式Linux系統(tǒng)移植嵌入式Linux系統(tǒng)移植是進(jìn)行Linux驅(qū)動(dòng)開(kāi)發(fā)的基礎(chǔ),如果連Linux系統(tǒng)移植都完成不了,那就更不用說(shuō)驅(qū)動(dòng)開(kāi)發(fā)了。因此,Linux系統(tǒng)移植至關(guān)重要。嵌入式Linux系統(tǒng)
2021-11-01 16:57:08
15
15嵌入式linux系統(tǒng)快速啟動(dòng)優(yōu)化的一些方法
嵌入式linux快速啟動(dòng)的一些優(yōu)化的方法,主要是要掌握嵌入式linux系統(tǒng)的啟動(dòng)流程,以便能夠在優(yōu)化時(shí)有所指引。下面是一些總結(jié):嵌入式linux系統(tǒng)快速啟動(dòng)的優(yōu)化主要是硬件和軟件。1硬件:1.1因?yàn)?/div>
2021-11-01 17:06:28
8
8(一)嵌入式linux移植使用ch340
有各種版本的 ch340驅(qū)動(dòng).3、移植一個(gè)minicom到你的開(kāi)發(fā)板里面,正點(diǎn)原子有教程,適合很多個(gè)平臺(tái),只需要更換你的交叉編譯器即可,該工具就是一個(gè)linux下的串口工具。1.2、開(kāi)始移...
2021-11-01 17:59:11
24
24嵌入式Linux系統(tǒng)移植(Linux內(nèi)核配置)
,根據(jù)我們的具體目標(biāo)平臺(tái)對(duì)這源碼進(jìn)行必要的改寫(xiě)(主要是修改體系結(jié)構(gòu)相關(guān)部分)。2.添加一些外設(shè)的驅(qū)動(dòng),打造一款適合于我們目標(biāo)平臺(tái)(可以是嵌入式便捷設(shè)備也可以是其它體系結(jié)構(gòu)的PC機(jī))的新操作系統(tǒng)。3.
2021-11-02 10:51:05
14
14[深度理解嵌入式linux系統(tǒng)移植]深度理解嵌入式linux系統(tǒng)移植
-linux內(nèi)核工程與編譯系統(tǒng)第七章-linux內(nèi)核啟動(dòng)流程分析第八章-linux移植準(zhǔn)備及最小系統(tǒng)構(gòu)建第九章-linux網(wǎng)卡驅(qū)動(dòng)移植第十章-linux混雜設(shè)備驅(qū)動(dòng)第十一章-linuxI2C驅(qū)動(dòng)移植第十二章-linuxSPI驅(qū)動(dòng)移植第十三章-Nand Flash 驅(qū)動(dòng)移植第十四章-SD.
2021-11-02 13:21:21
17
17BLMT機(jī)械端子上的一些體驗(yàn)和心得
專業(yè)電力人的角度來(lái)說(shuō)說(shuō)他在使用TE Connectivity(以下簡(jiǎn)稱“TE”)SIMEL 的 BLMT 機(jī)械端子上的一些體驗(yàn)和心得。 TE SIMEL 的 BLMT?機(jī)械端子 產(chǎn)品由本體、帶力矩剪切螺栓和用于小線徑導(dǎo)線的插片組成,可用于高達(dá) 42 kV 的中壓電纜。帶力矩剪
2021-11-02 16:16:04
9033
9033藍(lán)橋杯大賽單片機(jī)比賽的心得總結(jié)
翻了下以前做過(guò)的一些項(xiàng)目和比賽,發(fā)現(xiàn)了之前準(zhǔn)備比賽的一些注意事項(xiàng)和心得,分享給大家希望大家能夠避免錯(cuò)誤拿高分。 適當(dāng)?shù)难訒r(shí)很重要,可以解決一些不正?,F(xiàn)象 ds1302讀取的時(shí)間是BCD碼
2021-11-04 18:06:01
12
12單片機(jī)學(xué)習(xí)之路一些常見(jiàn)的疑問(wèn)也是我的個(gè)人學(xué)習(xí)總結(jié)
單片機(jī)學(xué)習(xí)之路一些常見(jiàn)的疑問(wèn)也是我的個(gè)人學(xué)習(xí)總結(jié)
2021-11-14 11:51:01
22
22單片機(jī)學(xué)習(xí)之路一些常見(jiàn)的疑問(wèn)也是我的個(gè)人學(xué)習(xí)總結(jié)
單片機(jī)學(xué)習(xí)之路一些常見(jiàn)的疑問(wèn)也是我的個(gè)人學(xué)習(xí)總結(jié)
2021-11-14 15:21:00
12
12Linux單片機(jī)串口通信總結(jié)
實(shí)驗(yàn)總結(jié)程序組織串口調(diào)試Linux與單片機(jī)串口通信?? 近期要做一個(gè)機(jī)械臂的小項(xiàng)目,作為ROS和MoveIt的實(shí)踐平臺(tái),上位機(jī)和工控機(jī)之間暫定為串口通信。上位機(jī):Ubuntu18.04虛擬機(jī)工控機(jī):STC89C51,編程環(huán)境為keil5?? 由于選擇了早已過(guò)時(shí)的C51作為下位機(jī),互聯(lián)網(wǎng)上并沒(méi)有太多相關(guān)資
2021-11-23 18:06:19
9
9新手關(guān)于8051中斷的一些總結(jié)
大家好,我是51新手,學(xué)習(xí)完入門之后對(duì)51單片機(jī)的中斷進(jìn)行一些總結(jié)。有些像我一樣的新手學(xué)習(xí)完中斷之后對(duì)其中的一些寄存器模模糊糊,不知道他們的功能,在寫(xiě)程序時(shí)也十分吃力,因此,我想對(duì)此寫(xiě)一些個(gè)人的想法
2021-11-24 16:06:08
1
1Makefile 近期學(xué)習(xí)的一些心得及其疑問(wèn)
最近切換到了linux系統(tǒng),但按捺不住內(nèi)心想搞事情的沖動(dòng)一直想要在linux下開(kāi)發(fā)stm32,為此最近進(jìn)行了一些學(xué)習(xí),新手上路如有不足請(qǐng)斧正!為了能在linux下開(kāi)發(fā),我也是走了好多彎路,下面就從
2021-12-04 14:36:10
0
0STM32中遇到的問(wèn)題--關(guān)于串口的一些常見(jiàn)問(wèn)題
在單片機(jī)的開(kāi)發(fā)過(guò)程中,最常用的外設(shè)就是串口了,是用來(lái)進(jìn)行bug糾錯(cuò)、log輸出的常用工具,也是用來(lái)與外部通訊的常見(jiàn)協(xié)議之一。 但是在使用串口的過(guò)程中難免會(huì)遇到一些問(wèn)題,下面就我在工作遇到的一些
2021-12-24 18:51:32
2
2STM32 USB轉(zhuǎn)串口驅(qū)動(dòng)移植到SylixOS中遇到的問(wèn)題總結(jié)
轉(zhuǎn)串口功能時(shí)對(duì)該USB庫(kù)進(jìn)行了移植。由于該USB庫(kù)的實(shí)現(xiàn)是基于STM32的裸機(jī)代碼實(shí)現(xiàn),因此在移植的過(guò)程中,不需要做過(guò)多的修改。 下面章節(jié)主要介紹在移植STM32的USB轉(zhuǎn)串口驅(qū)動(dòng)到SylixOS下遇
2021-12-27 19:06:49
8
8學(xué)習(xí)linux內(nèi)核的一些建議
學(xué)習(xí)linux內(nèi)核,這個(gè)可不像學(xué)一門語(yǔ)言,c或者java一個(gè)月或者3月你就能精通掌握。學(xué)習(xí)linux內(nèi)核是需要一步一步循序漸進(jìn),掌握正確的linux內(nèi)核學(xué)習(xí)路線對(duì)學(xué)習(xí)至關(guān)重要,本篇文章就來(lái)分享學(xué)習(xí)linux內(nèi)核的一些建議吧。
2022-05-07 15:20:27
933
933
分享一些Linux服務(wù)器的安全小貼士
今天浩道跟大家分享一些Linux服務(wù)器的安全小貼士,讓你維護(hù)linux服務(wù)器安全上有一些方向!
2023-01-29 11:27:44
612
612Docker Linux 容器的一些實(shí)際用例
Docker 是一個(gè)開(kāi)源平臺(tái),可以輕松地為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、 可移植的、自給自足的 *容器* 。大多數(shù) Docker 容器的核心是在虛擬化環(huán)境中運(yùn)行的輕量級(jí) Linux 服務(wù)器。
2023-02-03 15:25:34
645
645一些高效linux命令技巧總結(jié)
今天浩道跟大家分享硬核干貨,關(guān)于linux運(yùn)維中那些高效的運(yùn)維命令??梢哉f(shuō)掌握以下這些技巧,你將收到事半功倍的效果!
2023-02-12 17:00:42
1286
1286分享一些實(shí)用的linux小技巧
今天浩道跟大家分享硬核linux干貨,關(guān)于實(shí)際運(yùn)維中常常用到的linux高效技巧。一起看看哪些是你沒(méi)有用過(guò)的!
2023-03-07 09:24:01
953
953Linux的QSPI驅(qū)動(dòng)移植方法及驗(yàn)證方法
本文主要講述了Linux的QSPI驅(qū)動(dòng)移植方法及驗(yàn)證方法。
2023-04-14 10:20:41
5021
5021
Linux系統(tǒng)安裝前的一些預(yù)備知識(shí)
本文會(huì)介紹一些Linux系統(tǒng)安裝前的一些預(yù)備知識(shí),會(huì)涉及到MBR、BIOS和Boot loader等計(jì)算機(jī)基礎(chǔ)概念。
2023-05-12 15:27:19
1251
1251
Linux C開(kāi)發(fā)中的一些常用的調(diào)試技巧
在Linux使用gcc編譯程序的時(shí)候,對(duì)于調(diào)試的語(yǔ)句還具有一些特殊的語(yǔ)法。
2023-06-01 09:03:22
505
505開(kāi)發(fā)心得(2):Android智能硬件的關(guān)鍵——串口通信
通過(guò)總結(jié)大大小小多個(gè)Andriod智能硬件開(kāi)發(fā)項(xiàng)目,記錄了智能硬件產(chǎn)品開(kāi)發(fā)的全流程、智能硬件開(kāi)發(fā)所涉及的技術(shù)體系概述的心得,并附上在主板選型、串口通信、屏幕顯示、常用外接設(shè)備上一些品類的特點(diǎn)和差異
2022-07-04 16:51:36
1979
1979
總結(jié):Android智能硬件開(kāi)發(fā)心得
通過(guò)總結(jié)大大小小多個(gè)Andriod智能硬件開(kāi)發(fā)項(xiàng)目,記錄了智能硬件產(chǎn)品開(kāi)發(fā)的全流程、智能硬件開(kāi)發(fā)所涉及的技術(shù)體系概述的心得,并附上在主板選型、串口通信、屏幕顯示、常用外接設(shè)備上一些品類的特點(diǎn)和差異
2022-10-09 09:33:55
2684
2684
Linux驅(qū)動(dòng)移植 Linux系統(tǒng)架構(gòu)優(yōu)點(diǎn)
系統(tǒng)移植 linux 驅(qū)動(dòng)移植 移植是說(shuō)同樣的一個(gè) linux 操作系統(tǒng),我們可以跑到不同的硬件上面,我們把操作系統(tǒng)移植到不同的硬件上面,這個(gè)過(guò)程叫做移植。設(shè)備驅(qū)動(dòng)移植步驟,如下圖所示: 應(yīng)用軟件
2023-07-27 17:06:06
1457
1457
一些封裝中沒(méi)有串口,或者串口已經(jīng)被用作其他用途,要如何輸出log?
一些封裝中沒(méi)有串口,或者串口已經(jīng)被用作其他用途,要如何輸出log? 在一些封裝中,例如在裸機(jī)程序或者嵌入式系統(tǒng)中,因?yàn)榉N種原因,可能不存在串口可以用于輸出log。這對(duì)于代碼調(diào)試和問(wèn)題排查來(lái)說(shuō)
2023-10-31 14:37:12
1076
1076LED驅(qū)動(dòng)器應(yīng)用的一些指南和技巧
電子發(fā)燒友網(wǎng)站提供《LED驅(qū)動(dòng)器應(yīng)用的一些指南和技巧.pdf》資料免費(fèi)下載
2024-09-25 11:35:40
0
0為什么你的串口總是丟一些特殊字符?
。Linux下串口設(shè)備名稱一般為"/dev/ttySn",n是數(shù)字,若串口是USB擴(kuò)展的,則串口設(shè)備文件命名多為/dev/ttyUSBn。串口是一個(gè)終端設(shè)備,在L
2025-02-06 13:26:14
681
681
電子發(fā)燒友App


評(píng)論