COM-335X简要介绍
COM-335X工控模块产品集成了 ARM Cortex-A8 1GHz(MAX) TI AM335X 处理器,该模块使用了TPS65217电源管理芯片,板载大容量电子盘(COM-335X集成了NAND FLASH或者EMMC,支持三种启动方式(NAND/EMMC/QSPI NOR),稳定运行WindowsCE 7.0 和Linux 4.14(支持DTB)。 该核心模块使用SODIMM204接口件与工程底板相连,并带螺钉锁定,保证系统抗震性能。COM-335X提供了3.3V I/O接口,可提供宽温的工业组件,运行于条件恶劣的工业现场!
1.2.1产品特性
- 采用TI公司Cortex-A8 AM335X处理器,运行最高速度为1GHZ;
- 支持128M-1G DDR3 SDRAM;
- 支持128-1G字节 SLC电子盘或者EMMC 2G-32G大容量电子盘,可启动;
- 最多可支持两路千兆以太网,支持IEEE1588;
- 支持两路高速USB OTG;
- 支持最多六路串口,双路CAN BUS;
- 支持分辨率最高的1360*768显示接口,可支持SGX530 3D引擎;
- 稳定的操作系统的支持,可预装WINCE 7.0或者LINUX 4.14(DTB);ANDROID 4.2可根据项目定制;
- 引出JTAG接口,便于裸机系统调试。
- EMMC启动版本兼容BeagleboneBlack。
- 45*45mm ATAMP SMD CHIP
FUNCTION | COM-335X | |
主要参数 | 主控制器 | TI Am335X,Cortex-A8,1GHZ(Max) |
内存 | 256MB DDR3(最大可到1GB) | |
闪存 | SLC NAND 128MB (最大到1GMB) 或者EMMC(最大到32GMB) |
时钟 | DS1338U-33 |
看门狗 | 有 |
电源管理 | TPS65217C (可支持电池供电的移动应用) |
复位 | 支持软件和硬件复位 (直接写寄存器) |
串口 | 串口6个,LVTTL电平 |
以太网 | 2,10/100/1000Mbps |
USB OTG | 2个,高速 |
SD/MMC卡 | 四线 |
触摸屏 | 支持4/5/8线 |
系统总线 | NAND启动产品提供GPMC总线,EMMC启动产品无GPMC总线; |
IIC接口 | 3 |
SPI接口 | 2 |
GPIO | 多个3.3V LVTTL电平 |
MCASP音频 | 1 |
CAN总线 | 2 |
Graphic Chip | 支持2D/3D,仅对于AM3354 |
分辨率 | 最大1360×768 |
LCD接口 | 16/24-bit TTL接口 |
电源 | 5.0 V (+-5%) |
Power Consumption | TBD |
尺寸 | 67.6MM*38MM*2.5MM |
工作温度 | 0 ~ 70° C (可定制-20-70°C) |
工作湿度 | 5 ~ 95 % ,冷凝结 |
RoHS | YES |
认证 | CE |
软件支持 | Linux 4.14 dtb (DEBIAN,WCE7.0或者ANDROID项目定制支持) |
1.2.3核心模块存储及启动
-335X可从NAND Flash、EMMC或者SPI NOR FLASH启动和存储操作系统。
默认从nandflash启动
默认从eMMC启动
EAC-335X主板的COM-335X核心板,对应的启动顺序如下表:
Jumper Set | First Boot | Second Boot | Third Boot | Fourth Boot |
Default boot from NandFlash | ||||
Open | Nand | Nand I2C | MMC0 | UART0 |
Close | MMC0 | SPI0 | UART0 | USB0 |
Default boot from eMMC | ||||
Open | MMC1 | MMC0 | UART0 | USB0 |
Close | SPI0 | MMC0 | USB0 | UART0 |
为了更快捷的操作使用EAC-335X主板,把J1(jumper)引用到EAC-335X SW2按键,如上图所示;
对于NAND版本的COM-335X :EAC-335X板SW2按键不按上电,AM335X优先从Nand启动,当SW2按键按下上电,则优先从MMC0启动,这时我们将烧写文件保存到SD卡,并将SD卡插入到MMC0连接的卡座中,AM335X从SD卡中启动U-BOOT(嵌入式LINUX的引导程序),通过U-BOOT将LINUX内核等系统写入到NAND FLASH中,烧写完成后,系统默认从NAND启动。
对于eMMC版本的COM-335X: EAC-335X板SW2按键不按上电,AM335X优先从MMC1(MMC1信号连接了eMMC存储芯片)启动,当SW2按键按下上电,则优先SPI0启动(SPI0需要外接SPI NOR FLASH),SPI0没连接启动存储设备,则从次级MMC0启动(MMC0接口连接到了SD卡卡座),这时我们将需要烧写到EMMC中的各个系统文件存放到SD卡后,并插入MMC0连接的卡座中,上电启动后,COM-335X先从SD卡中保存的U-BOOT启动(嵌入式LINUX的引导程序),通过该U-BOOT可以将LINUX内核等系统写入到eMMC中,烧写完成后,系统默认从eMMC启动系统。
以上启动的具体细节请参考《COM-335X硬件使用手册》以及附录1-bootloader三级启动说明;
2 制作ubuntu 文件系统
在x86平台使用ubuntu-base-16.04.6-base-armhf.tar.gz镜像制作ubuntu文件系统,步骤如下。
1、在 Linux PC 主机上安装模拟器
# sudo apt-get install qemu-user-static
2、准备Ubuntu镜像
# wget -c http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04.6-base-armhf.tar.gz
# mkdir console
# sudo tar -xpf ubuntu-base-16.04.6-base-armhf.tar.gz -C console
3、设置dns,为下载package做准备
# sudo cp -b /etc/resolv.conf console/etc/resolv.conf
4、准备qemu
# sudo cp /usr/bin/qemu-arm-static console/usr/bin/
5、切换rootfs目录
# sudo mount -t proc proc console/proc/
# sudo mount -t sysfs sys console/sys/
# sudo mount --bind /dev/ console/dev/
# sudo mount --bind /dev/pts/ console/dev/pts/
# sudo chroot console
6、更新
# apt update
# apt upgrade
7、安装所需组件(根据需求安装)
# apt-get install vim git openssh-server sudo net-tools iputils-ping wireless-tools udev
# apt-get install rsyslog ifupdown ethtool dialog bash-completion
# apt-get install bluetooth-touch bluez
# apt-get install busybox udhcpc
# apt-get install console-setup console-terminus console-data
# apt-get install alsa-utils can-utils tzdata
桌面环境需要安装以下软件包:
# apt-get lxde libpam-kwallet4 libpam-kwallet5
# apt-get install xinput-calibrator network-manager
8、配置启动界面
# update-alternatives --config x-session-manager
9、配置默认登录界面
# dpkg-reconfigure lightdm
10、配置网络
# echo auto eth0 > /etc/network/interfaces.d/eth0
# echo iface eth0 inet dhcp >> /etc/network/interfaces.d/eth0
# echo auto wlan0 > /etc/network/interfaces.d/wlan0
# echo allow-hotplug wlan0 >> /etc/network/interfaces.d/wlan0
# echo iface wlan0 inet dhcp >> /etc/network/interfaces.d/wlan0
11、添加系统用户,并设置密码,以embfly为例
# useradd -s '/bin/bash' -m -G adm,sudo embfly
# echo embfly:embfly | chpasswd
12、设置主机名
# echo am335x > etc/hostname
# echo "127.0.0.1 localhost am335x" > etc/hosts
# echo "Asia/Shanghai" > /etc/timezone
13、退出
# exit
# sudo umount -lf console/dev/pts
# sudo umount -lf console/dev
# sudo umount console/sys
# sudo umount console/proc
14、制作镜像
制作ext4镜像
eMMC存储的主板,烧写压缩后的ext4镜像,文件后缀为ext4.gz。
# mkdir rootfs
# dd if=/dev/zero of=linuxroot.img bs=1M count=4000
# mkfs.ext4 linuxroot.img
# sudo mount linuxroot.img rootfs/
# sudo cp -rfp console/* rootfs/
# sudo umount rootfs/
# e2fsck -p -f linuxroot.img
# resize2fs -M linuxroot.img
# gzip -9 linuxroot.img
压制ubi镜像
nand flash存储的主板,烧写UBI镜像。由于ubuntu镜像较大,只支持512 MIB以上、页大小为
4096 byte的nand flaah。以压制512MIB的镜像为例:
# sudo mkfs.ubifs -F -q -r console/ -m 4096 -e 253952 -c 1980 -o ubuntu16.04.img
# ubinize -o ubuntu16.04.ubi -O 4096 -m 4096 -p 256KiB -s 1024 ubivolume.cfg
注:INI配置文件ubivolume.cfg如下:
# cat ubivolume.cfg
[ubifs]
mode=ubi
image=ubuntu16.04.img
vol_id=0
vol_size=450MiB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize