(诛仙剑C-SKY)1-初识

作者:cp
时间:2019-05-06
申明:本文一些素材取自网络,归原作者所有

写在前面

“中华芯,天下行”,自主知识产权的32位C-SKY系列嵌入式CPU核,值得学习

1.开发板介绍

  • 基于杭州国芯 GX6605S 芯片,专为学习Linux,可通过buildroot编译
  • gcc glibc uclibc-ng gdb linux-kernel
  • 价格: 39RMB / 5EUR / 6USD
  • 点此购买

2.资源特性

Item Details
SOC Nationalchip GX6605S
CPU C-SKY ISA V1, CK610M, MMU, 16K-icache, 16K-dcache
RAM 64MB DDR2-DRAM,集成在GX6605S中
USB EHCI + OHCI,支持完整的USB2.0/1.1 Host Controller
HDMI 1280*720 Framebuffer, 视频播放时可用1080P
GPIO 提供5个按键,4个LED, 3个自定义GPIO扩展
JTAG 集成XX32F103C8T6用于USB-JTAG调试,micro-usb连接PC
UART 集成CH340g用于USB-UART调试信息输出,micro-usb连接PC
SPI 集成4MB SPI Flash用于存放bootloader和播放器程序
供电 5V1A利用JTAG和UART的micro-usb供电,所以无需额外电源接口

(诛仙剑C-SKY)1-初识_第1张图片
!详细信息见https://c-sky.github.io/docs/gx6605s.html

3.快速开始

  • 启动U盘的镜像可以从gitlab/c-sky上下载: usb.img
  • 烧录U盘方法,请看这里: 烧录U盘
  • SPI Flash 中内置bootloader,它会自动检测U盘里的Linux并启动
  • 插上任意micro-usb 5V电源,HDMI显示器,USB键盘,就可以当电脑玩了
  • 下图中,U盘旁还插着一根USB有线网卡+HUB (RT8152B), 它的上面还插着mt7601u USB-WIFI,这样就扩展出一个有线网络eth0和一个无线网络wlan0
    (诛仙剑C-SKY)1-初识_第2张图片
  • 开机后,登录用户为root,该系统自带python2.7,可以用python控制GPIO,脚本见根目录python-gpio文件夹

PS:以上官方提供的usb镜像是HDMI输出,串口无法使用,所以即使插入COM标识的micro-usb接口只能看到boot阶段的信息,进入Linux内核后便不能使用,接下来就是搭建开发环境编译使用串口的镜像

3.编译

  • 环境准备:VMware+Ubuntu18.04(Ubuntu14.04–Ubuntu18.04均OK)
sudo apt install git
sudo apt install make
sudo apt install make-guile
sudo apt install gcc
sudo apt install g++
sudo apt install python
  • 桌面新建C-SKY文件夹,git clone buildroot,编译
mkdir C-SKY
cd C-SKY/
git clone https://github.com/c-sky/buildroot.git
cd buildroot
make csky_610_gx6605s_4.9_uclibc_br_defconfig
make
make clean
make csky_610_gx6605sfb_4.9_uclibc_br_defconfig
make

PS:一共有两个配置可供选择

Item Details
csky_610_gx6605s_4.9_uclibc_br_defconfig 使用串口作为终端
csky_610_gx6605sfb_4.9_uclibc_br_defconfig 使用HDMI作为终端

3.运行

编译完成后,在buildroot/output/images目录下会生成:

Item Details
boot.vfat vfat分区镜像,含有linux内核(uImage)和设备树gx6605s.dtb文件
uImage linux内核镜像
gx6605s.dtb 设备树编译后的二进制文件
rootfs.ext2/ext4 跟文件系统分区的镜像
usb.img.xz 由boot.vfat和rootfs.ext2/ext4共同组成的U盘完整镜像,包含了分区表信息,已xz压缩
csky_toolchain_xxx.tar.xz 交叉编译工具链

之后使用usb.img.xz制作U盘镜像启动即可使用。

3.1有线网络使用(需要usb有线网卡)

/* 获取 DHCP */
udhcpc -i eth0

3.1无线网络使用(MT7601u)

/* 加载驱动 */
$modprobe mt7601u
/* 设置连接 AP 密码 */
$wpa_passphrase wlan_t 12345678 >> /etc/wpa_supplicant.conf
/* 启动wifi连接 */
$wpa_supplicant -Dnl80211 -iwlan0 -c /etc/wpa_supplicant.conf -B
/* 获取 DHCP */
$udhcpc -i wlan0

4.串口+HDMI

因为想使用串口作为控制台,而HDMI显示UI界面,所以修改如下:

  1. 使用csky_610_gx6605sfb_4.9_uclibc_br_defconfig
  2. 进入根文件系统后修改/etc/inittab
# Put a getty on the serial port
- tty0::respawn:/sbin/getty -L  tty0 0 vt100 # GENERIC_SERIAL
+ ttyS0::respawn:/sbin/getty -L  ttyS0 0 vt100 # GENERIC_SERIAL

PS:禁止printk,隐藏光标echo -e "\033[?25l" > /dev/tty0

参考

[1]https://c-sky.github.io/docs/gx6605s.html
[2]https://www.kancloud.cn/lichee/lpi0/418899

你可能感兴趣的:(诛仙剑C-SKY)