嵌入式linux新手入門手記-修改kernel支持外置USB hub

2021-01-04 電子產品世界

  USB外置hub接到USB0上,在/arch/arm/mach-omap2/board-am335xevm.c中修改musb_board_data結構,將USB0定義為MUSB_HOST。

本文引用地址:http://www.eepw.com.cn/article/278904.htm

  外置hub使用的是FE1.1S晶片,這個晶片的性能一般,實際測試不能運行在USB2.0高速模式(也許和我的電路板的布線有關,這個還沒有進行研究),修改/drivers/usb/musb/musb_core.c的musb_start:

  musb_writeb(regs,MUSB_POWER, MUSB_POWER_ISOUPDATE

  | MUSB_POWER_SOFTCONN //增加這個定義

  /*|MUSB_POWER_HSENAB*/ //關閉高速模式

  /*ENSUSPEND wedges tusb */

  /*| MUSB_POWER_ENSUSPEND */

  );

  將USB0口的速度強制降低為低速模式。不過這裡沒有進行判斷,將全部USB埠都強制設置為低速模式。可以判斷regs,如果是USB0則降為低速。這樣USB1可以支持高速設備。

linux作業系統文章專題:linux作業系統詳解(linux不再難懂)

linux相關文章:linux教程


相關焦點

  • 嵌入式linux新手入門手記-搭建基本工作平臺
    當然,本人已經不是電子控制器開發的新手了。從事單片機,DSP開發十多年,但是一直沒有接觸過嵌入式linux。2014年初由於公司的項目需要,決定引入嵌入式linux的平臺進行產品研發,從這個時候開始正式接觸嵌入式linux,並開始在linux上進行工作。到現在差不多1年半,現在將這個過程重新整理出來,和大家一起分享,同時也給自己留一個記錄。
  • 嵌入式linux新手入門手記-TSLIB和支持USB接口單點觸控螢幕
    kernel已經內置對於普通USB單點觸控螢幕的支持,不需要修改程序,只要在/arch/arm/config/am335x_evm_defconfig中將相應的編譯條件設置好就可以:本文引用地址:http://www.eepw.com.cn/article/279081.htm  CONFIG_INPUT_TOUCHSCREEN=y  CONFIG_TOUCHSCREEN_USB_COMPOSITE
  • Linux USB總線驅動框架分析
    授權轉載於公眾號:柒零玖嵌入式(id:fengyuwuzu0519)有刪減修改。首先來看一個現象,插入USB設備後linux系統列印如下日誌:USB的初始化函數在kernel/drivers/usb/core/usb.c中定義,主要完成bus_register(USB總線註冊)、usb_major_init(註冊usb主控器字符設備)、usb_register(註冊usbfs驅動
  • Android Linux 內核介紹
    本文引用地址:http://www.eepw.com.cn/article/201609/304697.htmAndroid內核是基於Linux 2.6內核的(目前最新開發版本是2.6.31),它是一個增強內核版本,除了修改部分Bug外,它提供了用於支持Android平臺的設備驅動,其核心驅動主要包括:Android Binder ,基於OpenBinder框架的一個驅動
  • 一種基於嵌入式Linux系統的的無線路由器設計方案
    本文引用地址:http://www.eepw.com.cn/article/262484.htmlinux作業系統文章專題:linux作業系統詳解(linux不再難懂)  目前,WiFi技術能夠支持IEEE的802.11b、802.11g和802.1ln標準,分別支持10
  • 基於嵌入式Linux系統的3G/4G路由器設計
    Linux硬體平臺模塊的功能主要有兩個方面,一方面要支持無線網卡和無線數據卡的驅動,另一方面要通過嵌入式Linux系統中的iptables數據包過濾系統將無線區域網和3G/4G網絡連通。本設計方案中採用的嵌入式Linux系統的內核版本號為2.6.32,該內核中與 USB設備的VID和PID號相關的源碼存在kernel/drivers/usb/serial/option.c中,修改該文件並添加本 終端設計方案中所採用的華為E392無線上網卡的VID和PID,過程如下:# define HUAWEI_VENDOR_ID 0x12D1# define
  • 嵌入式linux新手入門手記-第一次啟動am335x
    由於我們不需要進入到kernel,所以不拷貝uImage,也不製作ubi分區。  設置am335x的LCD_data4:0為b10111,從SD卡啟動(MMC0),插入製作好的SD卡到卡槽中。將am335x電路板通電,等u-boot.img啟動時按下鍵盤任意鍵,超級終端顯示「U-Boot:」提示符,即進入到命令行操作模式。
  • ARM與嵌入式linux入門建議
    也許你會注意到,現在做嵌入式的人中,做linux研究的人遠比做WinCE的人多,很多產家提供的資料也是以linux為主。我一直很難理解,其實WinCE的界面比linux的界面好看多了,使用起來也很方便,更為重要的是,WinCE的開發和Windows下的開發基本一樣,學起來簡單得多,但是學linux或者使用linux做嵌入式的人就是遠比WinCE多。
  • 詳細說明如何配置嵌入式linux 的nfs開發環境
    在嵌入式linux 的開發過程中,開發者需要在linux 伺服器上進行所有的軟體開發,交叉編譯後,通用FTP 方式將可執行文件下載到嵌入式系統運行,但這種方式不但效率低下,且無法實現在線的調試。因此,可以通過建操作linux 伺服器,同時可以在線對程序進行調試和修改,大大的方便了軟體的開發。
  • 嵌入式linux與ARM開發板的入門建議
    三部分:bootloader、linux kernel(linux內核)、rootfile(根文件系統)。 那麼這3部分是怎麼相互協作來構成這個系統的呢?各自有什麼用呢?三者有什麼聯繫?怎麼聯繫?系統的執行流程又是怎麼樣的呢?搞清楚這個問題你對整個系統的運行就很清楚了,對於下一步製作這個linux系統就打下了另一個重要的根基。介紹這方面的資料網上可以挖掘到幾噸,自己好好研究吧。
  • 工程師嵌入式Linux自學筆記及體會
    快速入門  最簡單的建立嵌入式 Linux 應用的方法就是從我們使用的桌面 Linux 入手,安裝一個喜愛的版本,把我們的某個應用作為初始化的一部分,框架就算完成了。  入門試驗,製作一個簡單的應用  我們使用一張軟盤啟動一臺假象的只有一個串口,鍵盤輸入,顯示輸出的x86 架構的 linux 系統,執行的特定應用就是運行 minicom,通過串口撥號。
  • Linux Lab 發布 v0.2-rc2,支持實時 Linux v5.2 開發
    該版本相比 v0.2 rc1 只有 14 筆修改,其中主要更新如下: 新增實時 Linux v5.2 實驗支持 新增 feature/linux/rt/v5.2/,可以跟其他特性一樣,一條命令即可開啟該特性:make f f=rt,該命令會打上 patch 並完成內核配置。目前僅在 i386/pc 上驗證可以正常啟動。 可參照添加其他版本的 rt patch。
  • USB設備驅動程序
    // drivers\hid\usbhid\usbmouse.c#include "linux/kernel.h"#include "linux/slab.h"#include "linux/module.h"#include "linux/init.h"#include "linux/usb/input.h
  • 嵌入式Linux下USB驅動程序的設計
    嵌入式設備一般都沒有USB主機控制器,只是工作在Slave模式下。如果要使USB具有主機功能,那麼設備中需要選用一個帶主機控制器的USB接口控制晶片, 同時自己還要有實現該主機控制器的驅動程序。目前Linux內核中只提供USB主機控制器的開放主機控制器和通用主機控制器接口兩種規格,而這兩種規格主要用在PC架構中。USB主機端驅動程序與主機控制器的結構如圖2所示。
  • 嵌入式linux新手入門手記-準備qt5.4.1開發平臺
    這個手記寫到這裡,am335x的軟體平臺已經能夠正常工作了, tslib也已經能夠進行正確的觸控螢幕校正,自己編寫一個hello world的程序,並交叉編譯後,能夠在am335x上運行,並在超級終端上列印出「hello world」。
  • ARM在嵌入式linux內核裁剪與移植的應用
    Linux作業系統可以支持不同的設備和不同的配置。Linux對廠商不偏不倚,而且成本極低,因而很快成為用於各種設備的作業系統。嵌入式linux是大勢所趨,其巨大的市場潛力與醞釀的無限商機必然會吸引眾多的廠商進入這一領域。
  • Linux kernel測試初探
    Linux基金會在4月3日公布了Linux開發年報,向我們展示了linux kernel作為世上最大開源合作項目之一的魅力。自2005年以來,共有800家公司7800名開發人員參與Linux kernel開發,最近一年也有200家公司共1000名開發人員參與。
  • 嵌入式linux的tftp配置
    嵌入式linux的 tftp開發環境包括兩個方面:本文引用地址:http://www.eepw.com.cn/article/150771.htm 一是linux伺服器端的tftp-server支持,二是嵌入式目標系統的tftp-client支持。因為u- boot本身內置支持tftp-client,所以嵌入式目標系統端就不用配置了。
  • linux下USB驅動移植
    /usb-control.h>#include linux/device.h>#include linux/delay.h>/*end add*//**********************add by lfc*************************************/static struct s3c2410_hcd_info
  • 嵌入式Linux系統開發入門基礎
    打開APP 嵌入式Linux系統開發入門基礎 工程師6 發表於 2018-05-05 13:03:00   1、Linux 基礎