iMX6ull SD卡系統(tǒng)和Nandflash系統(tǒng)

SD卡系統(tǒng)

系統(tǒng)源碼和編譯方法,[參見連接] (https://community.nxp.com/docs/DOC-334274)其中dtb文件針對(duì)LCD或HDMI修改的內(nèi)容對(duì)iSpeaker無影響,不用去修改。我們會(huì)使用另外的dtb文件。
燒寫SD方式也不采用這個(gè)文檔中的方法,直接在linux命令行下如下操作:

  • 分區(qū)
    $(echo n; echo p; echo 1; echo 8192; echo 24575; echo t; echo c;
    echo n; echo p; echo 2; echo 24576; echo;
    echo p; echo w) | fdisk -u /dev/mmcblk0
    $ sync
  • 格式化分區(qū)
    $ mkfs.vfat /dev/mmcblk0p1 -n kernel
    $ mkfs.ext4 /dev/mmcblk0p2 -L rootfs
    $ sync
  • 寫入uboot
    dd if=SPL.mmc of=/dev/mmcblk0 bs=1K seek=1; sync
    dd if=u-boot.img.mmc of=/dev/mmcblk0 bs=1K seek=69; sync
  • **拷貝kernel和dtb文件到第一個(gè)分區(qū),即mmcblk0p1下面需要有2個(gè)文件:
    zImage 和 imx.dtb
  • 解壓文件系統(tǒng)到mmcblk0p2(假設(shè)掛載在/mnt)即可。如上面文檔中用到的debian系統(tǒng): tar xvzf linaro-jessie-alip-20160428-22.tar.gz -C /mnt --strip-components 1
    在這個(gè)debian系統(tǒng)中l(wèi)inphone的編譯和運(yùn)行都沒有問題,但是文件系統(tǒng)太大了。另外,可以考慮的根文件系統(tǒng)如下:
    linaro-trusty-nano-2014024-684.tar.gz 這個(gè)系統(tǒng)最精簡(jiǎn),不帶編譯環(huán)境。
    linaro-trusty-developer-2014024-684.tar.gz 這個(gè)系統(tǒng)帶開發(fā)環(huán)境,稍大。
    注意:?jiǎn)?dòng)階段設(shè)置uboot 環(huán)境變量,指定fdt_file為imx.dtb

Nandflash系統(tǒng)

Nandflash使用zImage,dtb文件和SD卡中使用的完全一致。Uboot文件SD中使用的不能用于Nandflash,源碼另見。
燒寫Nandflash需要用SD卡系統(tǒng)盤啟動(dòng),SD卡系統(tǒng)中需要已安裝mtd-utils工具。系統(tǒng)啟動(dòng)后能正常看到mtd0~mtd4分區(qū)。按照下面步驟操作:

$ flash_erase /dev/mtd0 0 0
$ flash_erase /dev/mtd1 0 0
$ flash_erase /dev/mtd2 0 0
$ kobs-ng init -x u-boot.imx --search_exponent=1 -v
$ flash_erase /dev/mtd3 0 0
$ nandwrite -p /dev/mtd3 zImage
$ nandwrite -p /dev/mtd3 -s 0x7e0000 imx.dtb
$ ubiformat /dev/mtd4 -f ubi.img

其中使用ubi.img文件,在linux主機(jī)下制作方法如下:
使用的根文件系統(tǒng)和SD卡中的根文件系統(tǒng)一樣,假設(shè)SD卡已插入linux主機(jī)usb接口,并將第二個(gè)分區(qū)掛載與/mnt下,首先在linux主機(jī)工作目錄下建立文本文件ubifs.cfg,內(nèi)容如下:
[ubifs]
mode=ubi
image=ubifs.img
vol_id=0
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize
然后執(zhí)行如下命令:
$ mkfs.ubifs -x zlib -m 2048 -e 124KiB -c 3965 -r /mnt ubifs.img
$ ubinize -o ubi.img -m 2048 -p 128KiB -s 2048 -O 2048 ubifs.cfg

uboot 環(huán)境需要配置的參數(shù)

  1. setenv fdt_file imx6ull-14x14-evk.dtb 直接指定dtb文件
  2. setenv ethaddr xx:xx:xx:xx:xx:xx
    setenv eth1addr xx:xx:xx:xx:xx:xx 指定兩個(gè)網(wǎng)口的MAC地址
  3. bootargs 中增加bootargs=sync把ubi文件系統(tǒng)改為sync模式
    nandargs=setenv bootargs console=${consol},${baudrate} ubi.mtd=4 root=ubi0:rootfs
    rootflags=sync rootfstype=ubifs rw ${cma_size}

linphone 的簡(jiǎn)單使用

  • linphone使用前需要配置好聲卡的部分參數(shù),amixer命令可以調(diào)節(jié)。
  • linphone可以啟動(dòng)到linphone控制臺(tái)下,通過控制臺(tái)能夠查看命令的使用試用方法。
  • linphone最終使用方式
    • 啟動(dòng)linphone: linphonecsh init -a -c ~/.linphonerc
      指定~/.linphonerc為配置文件,有關(guān)linphone的所有參數(shù)都可以修改配置文件完成,目錄和文件名可以更改。-a啟動(dòng)時(shí)為自動(dòng)應(yīng)答模式。
    • linphonecsh啟動(dòng)后,可以采用linphonecsh generic "command" 的方式發(fā)送指令給linphone,用于執(zhí)行需要的操作,如下為常用命令:
      linphonecsh generic "status hook"
      linphonecsh generic "status register"
      以下?lián)芴?hào)方式都可以:
      linphonecsh generic "call 800"
      linphonecsh generic "call 800@192.168.1.100"
      linphonecsh exit 退出linphone
      linphonecsh generic "playbackgain 10"
      調(diào)節(jié)音量,數(shù)字范圍0~20,立即生效
      linphonecsh register --host xxx --username xx --password xxx
      注冊(cè)賬號(hào)到一個(gè)服務(wù)器,通常不使用該方式,linphonecsh啟動(dòng)時(shí)帶入的配置文件中已經(jīng)包含注冊(cè)信息

GPIO定義

  • GPIO使用系統(tǒng)原生的操作方式,例如GPIO22作為led的控制使用,方式如下:
    echo 22 > /sys/class/gpio/export
    echo out > /sys/class/gpio/gpio22/direction
    echo 0 > /sys/class/gpio/gpio22/value 置低
    echo 1 > /sys/class/gpio/gpio22/value 置高

  • 目前speaker主板的GPIO定義如下:
    復(fù)位按鍵 -----> GPIO2
    音量按鍵+ -----> GPIO5
    音量按鍵- -----> GPIO8

    Din1 -----> GPIO25
    Din2 -----> GPIO24
    Din3 -----> GPIO27
    Din4 -----> GPIO26

    SD_CTRL -----> GPIO23 ##控制功放的mute功能

    ALARM_out -----> GPIO4
    Alarm_in -----> GPIO0

    音頻聲道選擇 -----> GPIO1 ## 1=headset 0=speaker

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容