加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 一、将SSD202的内存进行扩容
    • 二、SSD202 SPI配置
    • 三、SSD202 UART配置
    • 四、SSD202 USB端口配置
    • 五、SSD202 USB串口配置
    • 六、SSD202 USB大容量存储配置
    • 七、SSD202 支持Fat文件格式配置
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

玩转东山Pi壹号-SSD202 Linux开发板(一)

2023/06/08
5601
阅读需 11 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

来源 | 嵌入式应用研究院

很早之前就做过SSD20x相关的平台,刚好手里有一块东山Pi壹号-开发板,于是我就将我为这块板子做了一些定制,以支持我未来的项目开发:

一、将SSD202的内存进行扩容

刚拿到的板子,上电后RAM只有50M,基本上干不了什么事情,于是参考官方文档了解到了MMA这个东西:

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

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

有两种方法优化掉MMA:修改命令行启动参数,重新编译Kernel进入uboot命令,手动去掉MMA(前提是uboot可以进入)

为了方便,倾向于第二种,在uboot启动终端,我们可以通过printenv命令输出启动参数:

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

我们将这块去掉,因为我们不需要MMA,因此可以通过setenv bootargs的方式进行修改:

然后保存后reset正常重启后,我们通过top或者cat /proc/memory等方式就可以看到RAM被释放出来了,这里通过top的方式查看:

二、SSD202 SPI配置

1、Linux内核配置

make menuconfig配置以下选项

CONFIG_SPI_SPIDEV

CONFIG_MS_SPI_INFINITY

2、设备树配置

东山壹号SSD202开发板上的SPI接口要选择Pad mode=4:

Pad mode=4 PAD_FUART_RX PAD_FUART_TX PAD_FUART_CTS PAD_FUART_RTS

打开主设备树infinity2m.dtsi,修改节点:

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;*/  /*注释节点*/
        serial3 = &uart2;
    };

然后打开设备树: infinity2m-ssc011a-s01a-padmux-display.dtsi 对应电路原理图

配置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>,

编译内核烧写完毕后输入reset重启系统后查看是否有SPI设备:

如果出现以上设备节点,则证明spi设备已经配置成功。

三、SSD202 UART配置

百问网SSD202开发板的SDK没有将ttyS0以外的串口开放,参考SSD202官方文档添加,修改设备树文件:infinity2m-ssc011a-s01a-padmux-display.dtsi,参考官方文档描述:

根据实际项目需求往设备树文件添加:

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

后重新编译内核再为开发板更新内核即可生效。

四、SSD202 USB端口配置

五、SSD202 USB串口配置

勾选常用的选项:

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

然后重新编译内核烧写即可生效。

六、SSD202 USB大容量存储配置

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

1、内核配置方式

内核搜索 CONFIG_VFAT_FS 配置选项,然后配置为*号即可。其他文件系统的支持同样的方式配置

fat 文件系统:  CONFIG_VFAT_FS
nfs文件系统: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

原因是没有配置相应的文件系统的codepage;

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

把Codepage 437 (United States, Canada)这个选项添加上,如果需要支持其他语言,同样也可以选上。如果挂载继续提示

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

再把CONFIG_NLS_ISO8859_1这项配置也添加上去。然后就可以挂载了:

其它:待补充!

 

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
SFH250V 1 OSRAM GmbH PIN-TYPE PHOTODIODE,LSR-3
$13.14 查看
TLP187(E 1 Toshiba America Electronic Components Darlington Output Optocoupler, 1-Element, 3750V Isolation

ECAD模型

下载ECAD模型
$0.97 查看
SFH757V 1 Siemens Transmitter, 100Mbps, Through Hole Mount
暂无数据 查看

相关推荐

电子产业图谱

本科毕业于华南理工大学,现美国卡罗尔工商管理硕士研究生在读,曾就职于世界名企伟易达、联发科技等,多年嵌入式产品开发经验,在智能玩具、安防产品、平板电脑、手机开发有丰富的实战开发经验,现任深圳市云之手科技有限公司副总经理、研发总工程师。