• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

飛凌嵌入式ElfBoard ELF 1板卡-uboot移植之IOMUX介紹

05/30 09:30
687
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

本章節(jié)主要講,如何將NXP官方i.MX6ULL EVK評(píng)估板的uboot源碼移植適配到ELF?1開(kāi)發(fā)板。本身uboot的作用就是啟動(dòng)內(nèi)核,只要能成功啟動(dòng)內(nèi)核,uboot使命便已完成。但是從開(kāi)發(fā)調(diào)試的角度來(lái)講,有時(shí)候我們需要在uboot階段使用一些外設(shè)接口方便調(diào)試,例如使用tftp更新uboot、調(diào)試內(nèi)核等,這就需要使用網(wǎng)絡(luò)接口;從產(chǎn)品開(kāi)發(fā)角度來(lái)講,有時(shí)候需要在uboot階段顯示廠商logo,這就需要uboot支持LCD功能接口。所以我們也要對(duì)uboot的常用功能接口做一些適配。好在對(duì)于這些常用功能接口的硬件設(shè)計(jì)方案,ELF?1開(kāi)發(fā)板與NXP EVK板基本一樣,這樣就大大減少我們的移植工作。我們將ELF 1開(kāi)發(fā)板資料包7-NXP 原廠資料7-1 NXP官方源碼u-boot-imx-2016.03.tar.gz復(fù)制到/home/elf/work/elf1_uboot目錄下(如果沒(méi)有此文件夾,就自行創(chuàng)建),并解壓縮,準(zhǔn)備進(jìn)行移植。本章uboot移植工作基于eMMC版進(jìn)行。

經(jīng)過(guò)第六章,我們完整地移植了NXP的內(nèi)核,相信大家對(duì)IOMUX已經(jīng)很熟悉了,我們?cè)俸?jiǎn)單地提一下,如果您還沒(méi)有看內(nèi)核篇章,強(qiáng)烈建議您看完第六章之后再進(jìn)行本章的學(xué)習(xí)。

IOMUX是指引腳復(fù)用功能配置,MUX是指multiplex多路復(fù)用的意思,由于芯片硬件引腳資源有限,但又想實(shí)現(xiàn)盡可能多的功能,于是芯片廠商,就實(shí)現(xiàn)了一個(gè)引腳可復(fù)用為多路功能的設(shè)計(jì)。不同廠家的SOC芯片有不同的配置方法,下面我們講i.MX6ULL的引腳功能復(fù)用的配置方法。

例如i.MX6ULL芯片GPIO1_06引腳就有9種復(fù)用功能:

一般來(lái)講,如果要想將一個(gè)引腳復(fù)用成為自己期望的功能,需要設(shè)置三個(gè)寄存器

一、IOMUXC_SW_MUX_CTL_PAD:配置引腳復(fù)用模式,即復(fù)用為哪種功能。

二、IOMUXC_SW_PAD_CTL_PAD:配置引腳的電氣參數(shù),根據(jù)所選功能及硬件環(huán)境,配置成合適的電氣參數(shù),如上下拉電阻,驅(qū)動(dòng)能力,開(kāi)漏輸出還是推挽輸出等。

三、SELECT_INPUT:配置功能引腳選擇,對(duì)于同一功能可復(fù)用到多個(gè)引腳的情況,會(huì)存在此寄存器,并且需要配置此寄存器。對(duì)于一個(gè)功能只能使用某一個(gè)引腳的情況,由于不存在使用其他引腳的可能,所以不存在此寄存器。

具體IOMUX的配置,在以下章節(jié)會(huì)詳細(xì)介紹。

相關(guān)推薦