加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 一、將SSD202的內(nèi)存進(jìn)行擴(kuò)容
    • 二、SSD202 SPI配置
    • 三、SSD202 UART配置
    • 四、SSD202 USB端口配置
    • 五、SSD202 USB串口配置
    • 六、SSD202 USB大容量存儲(chǔ)配置
    • 七、SSD202 支持Fat文件格式配置
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

玩轉(zhuǎn)東山Pi壹號(hào)-SSD202 Linux開(kāi)發(fā)板(一)

2023/06/08
4981
閱讀需 11 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

來(lái)源 | 嵌入式應(yīng)用研究院

很早之前就做過(guò)SSD20x相關(guān)的平臺(tái),剛好手里有一塊東山Pi壹號(hào)-開(kāi)發(fā)板,于是我就將我為這塊板子做了一些定制,以支持我未來(lái)的項(xiàng)目開(kāi)發(fā):

一、將SSD202的內(nèi)存進(jìn)行擴(kuò)容

剛拿到的板子,上電后RAM只有50M,基本上干不了什么事情,于是參考官方文檔了解到了MMA這個(gè)東西:

總共的RAM的大小是0x7f00000 = 133169152 / 1024 / 1024 約等于 127MB

MMA=0x3800000=58,720,256 / 1024 / 1024=56MB

有兩種方法優(yōu)化掉MMA:修改命令行啟動(dòng)參數(shù),重新編譯Kernel進(jìn)入uboot命令,手動(dòng)去掉MMA(前提是uboot可以進(jìn)入)

為了方便,傾向于第二種,在uboot啟動(dòng)終端,我們可以通過(guò)printenv命令輸出啟動(dòng)參數(shù):

mma_heap=mma_heap_name0,miu=0,sz=0x3800000===>56MB

我們將這塊去掉,因?yàn)槲覀儾恍枰狹MA,因此可以通過(guò)setenv bootargs的方式進(jìn)行修改:

然后保存后reset正常重啟后,我們通過(guò)top或者cat /proc/memory等方式就可以看到RAM被釋放出來(lái)了,這里通過(guò)top的方式查看:

二、SSD202 SPI配置

1、Linux內(nèi)核配置

make menuconfig配置以下選項(xiàng)

CONFIG_SPI_SPIDEV

CONFIG_MS_SPI_INFINITY

2、設(shè)備樹(shù)配置

東山壹號(hào)SSD202開(kāi)發(fā)板上的SPI接口要選擇Pad mode=4:

Pad mode=4 PAD_FUART_RX PAD_FUART_TX PAD_FUART_CTS PAD_FUART_RTS

打開(kāi)主設(shè)備樹(shù)infinity2m.dtsi,修改節(jié)點(diǎn):

spi:?spi?{
????????????compatible?=?"sstar_spi";
????????????io_phy_addr?=?<0x1f000000>;
????????????banks?=?<0x1110>,<0x1111>,<0x1038>,<0x101E>,<0x100B>;
????????????clocks?=?<&CLK_mspi0>;
????????????interrupts?=?<GIC_SPI?INT_IRQ_MSPI_0?IRQ_TYPE_LEVEL_HIGH>;
????????????/*
?????????????*?padmux:
?????????????*?mode=1:?PAD_PM_SD_CDZ,PAD_SD_D1,PAD_SD_D0,PAD_SD_CLK,PAD_SD_CMD
?????????????*?mode=2:?PAD_TTL16,PAD_TTL17,PAD_TTL18,PAD_TTL19
?????????????*?mode=3:?PAD_GPIO4,PAD_GPIO5,PAD_GPIO6,PAD_GPIO7
?????????????*?mode=4:?PAD_FUART_RX,PAD_FUART_TX,PAD_FUART_CTS,PAD_FUART_RTS
?????????????*?mode=5:?PAD_GPIO8,PAD_GPIO9,PAD_GPIO10,PAD_GPIO11
?????????????*?mode=6:?PAD_GPIO0,PAD_GPIO1,PAD_GPIO2,PAD_GPIO3
?????????????*/
????????????dma?=?<1>;
????????????spi0_mode?=?<4>;
????????????status?=?"ok";
????????};
????????
????aliases?{
????????console?=?&uart0;
????????serial0?=?&uart0;
????????serial1?=?&uart1;
????????/*serial2?=?&fuart;*/??/*注釋節(jié)點(diǎn)*/
????????serial3?=?&uart2;
????};

然后打開(kāi)設(shè)備樹(shù):?infinity2m-ssc011a-s01a-padmux-display.dtsi?對(duì)應(yīng)電路原理圖

配置SPI管腳:

//SPI_DO
<PAD_FUART_RTS??????PINMUX_FOR_SPI0_MODE_4????MDRV_PUSE_SPI0_DO>,
//SPI_DI
<PAD_FUART_CTS??????PINMUX_FOR_SPI0_MODE_4????MDRV_PUSE_SPI0_DI>,
//SPI_CLK
<PAD_FUART_TX???????PINMUX_FOR_SPI0_MODE_4????MDRV_PUSE_SPI0_CK>,
//SPI_CS
<PAD_FUART_RX???????PINMUX_FOR_SPI0_MODE_4????MDRV_PUSE_SPI0_CZ>,

編譯內(nèi)核燒寫完畢后輸入reset重啟系統(tǒng)后查看是否有SPI設(shè)備:

如果出現(xiàn)以上設(shè)備節(jié)點(diǎn),則證明spi設(shè)備已經(jīng)配置成功。

三、SSD202 UART配置

百問(wèn)網(wǎng)SSD202開(kāi)發(fā)板的SDK沒(méi)有將ttyS0以外的串口開(kāi)放,參考SSD202官方文檔添加,修改設(shè)備樹(shù)文件:infinity2m-ssc011a-s01a-padmux-display.dtsi,參考官方文檔描述:

根據(jù)實(shí)際項(xiàng)目需求往設(shè)備樹(shù)文件添加:

<PAD_UART1_RX????PINMUX_FOR_UART1_MODE_1???MDRV_PUSE_UART1_RX>,
<PAD_UART1_TX????PINMUX_FOR_UART1_MODE_1???MDRV_PUSE_UART1_TX>,

后重新編譯內(nèi)核再為開(kāi)發(fā)板更新內(nèi)核即可生效。

四、SSD202 USB端口配置

五、SSD202 USB串口配置

勾選常用的選項(xiàng):

USB?Winchiphead?CH341?Single?Port?Serial?Driver
USB?CP210x?family?of?UART?Bridge?Controllers
USB?Prolific?2303?Single?Port?Serial?Driversss

然后重新編譯內(nèi)核燒寫即可生效。

六、SSD202 USB大容量存儲(chǔ)配置

七、SSD202 支持Fat文件格式配置

1、內(nèi)核配置方式

內(nèi)核搜索?CONFIG_VFAT_FS?配置選項(xiàng),然后配置為*號(hào)即可。其他文件系統(tǒng)的支持同樣的方式配置

fat?文件系統(tǒng):??CONFIG_VFAT_FS
nfs文件系統(tǒng):CONFIG_NTFS_FS

如果配置上了以后提示

#?mount?-t?vfat?/dev/sda1??/mnt/
[???46.134884]?FAT-fs?(sda1):?codepage?cp437?not?found
mount:?mounting?/dev/sda1?on?/mnt/?failed:?Invalid?argument

原因是沒(méi)有配置相應(yīng)的文件系統(tǒng)的codepage;

File?systems??--->
????-*-?Native?language?support??--->
?????????<?*?>???Codepage?437?(United?States,?Canada)

把Codepage 437 (United States, Canada)這個(gè)選項(xiàng)添加上,如果需要支持其他語(yǔ)言,同樣也可以選上。如果掛載繼續(xù)提示

[???21.785549]?FAT-fs?(sda1):?IO?charset?iso8859-1?not?found
mount:?mounting?/dev/sda1?on?/mnt/?failed:?Invalid?argument

再把CONFIG_NLS_ISO8859_1這項(xiàng)配置也添加上去。然后就可以掛載了:

其它:待補(bǔ)充!

 

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
MOC3021SR2M 1 Rochester Electronics LLC 1 CHANNEL TRIAC OUTPUT OPTOCOUPLER, SURFACE MOUNT, DIP-6
$0.68 查看
FM25CL64B-GA 1 Ramtron International Corporation Memory Circuit, 8KX8, CMOS, PDSO8, GREEN, MS-012AA, SOIC-8
$4.61 查看
B39431R964H110 1 TDK Corporation 1-Port Saw Resonator, 434.15MHz Nom, ROHS COMPLIANT, SMD, DCC6E, 6 PIN
暫無(wú)數(shù)據(jù) 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

本科畢業(yè)于華南理工大學(xué),現(xiàn)美國(guó)卡羅爾工商管理碩士研究生在讀,曾就職于世界名企偉易達(dá)、聯(lián)發(fā)科技等,多年嵌入式產(chǎn)品開(kāi)發(fā)經(jīng)驗(yàn),在智能玩具、安防產(chǎn)品、平板電腦、手機(jī)開(kāi)發(fā)有豐富的實(shí)戰(zhàn)開(kāi)發(fā)經(jīng)驗(yàn),現(xiàn)任深圳市云之手科技有限公司副總經(jīng)理、研發(fā)總工程師。