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



評論