龙芯2K500是一块嵌入式的开发板,上面跑的Linux有所裁剪,不过基本功能都还在。
1. 联网
使用串口连接到开发板以后,第一件事情,就是联网。
板载的有线网口,可以用网线连接到电脑网口,或者连接到路由器。
连接后,会自动启用默认设置的ip地址。
可以试用nmcli、ifconfig进行管理,也可以直接修改配置文件/etc/NetworkManager/system-connections/eth0-connection.nmconnection:
root@LS-GD:~# vim /etc/NetworkManager/system-connections/eth0-connection.nmconnection
[connection]
id=eth0-connection
uuid=de9982c7-1142-44aa-9fb5-0f2d5b96a76d
type=ethernet
interface-name=eth0
permissions=
[ethernet]
mac-address-blacklist=
[ipv4]
address1=192.168.10.10/24
dns-search=
method=manual
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto
[proxy]
上述address1就是设置的ip地址,根据你的实际情况设置。
我将开发板直连到电脑,所以ip设置如下:
- 开发板:192.168.10.10
- 电脑:192.168.10.2
设置完成后,使用如下方式生效:
reboot
ifconfig eth0 down
ifconfig eth1
然后通过ifconfig指令查看网卡状态:
现在已经联网了,可以用网络连接开发板了。
在开发板上,已经运行了一个裁剪系统常用的ssh服务端dropbear:
网络连接成功后,就可以通过ssh连接到开发板了:
默认的账户是root,密码是123。可以根据自己需要,添加用户,修改密码。
2. shell设置
使用串口连接到系统以后,默认的shell是bash,但是没有进行设置,显示的只有光秃秃的黑白色,看起来很不爽。
只需要添加下面三个文件,就能看起来舒服多了。
vim ~/.profile
if [ -s ~/.bashrc ]; then
source ~/.bashrc
fi
vim ~/.bashrc
force_color_prompt=yes
color_prompt=yes
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
~/.bash_aliases
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
~/.profile用于shell启动时调用,
~/.bashrc用于设置bash环境参数
~/.bash_aliases用于设置指令的别名。
设置好以后,重新登录,或者使用如下指令生效:
source ~/.bashrc
现在shell环境,就看起来舒服多了:
当然,也可以根据自己的需要,进一步的进行配置。
3. LED灯使用
从手册得知:一共四个LED,LED2 为心跳灯,用于指示系统运行。
在shell下面,也可以控制这四个灯。
LED设备挂载到了:/sys/class/leds
从上面的输出可以,LED1是PWM输出的,其他的是普通的LED。
控制LED3、LED4,直接向led3/brightness、led4/brightness写入0或者1即可。
控制LED2,则需要先去掉默认的heartbeat
模式,echo none > led2/trigger
,然后再进行控制。
cd /sys/class/leds
echo none > led2/triger
echo 1 > led2/brightness
echo 1 > led3/brightness
echo 1 > led4/brightness
echo 0 > led2/brightness
echo 0 > led3/brightness
echo 0 > led4/brightness
LED1的控制方式,有一点点的差异,因为是PWM输出的,所以可以控制其亮度:
echo 0 > led1-pwm/brightness
echo 10 > led1-pwm/brightness
echo 127 > led1-pwm/brightness
echo 255 > led1-pwm/brightness
通过写入0~255,来控制PWM的占空比,从而实现LED1的亮度变化。
通过这个方式,可以简单的使用一个脚本,来实现呼吸灯的效果:
for n in $(seq 1 255);do
for i in $(seq 11 10 251) $(seq 251 -10 11);do echo $i > led1-pwm/brightness; sleep 0.05; done
done
其中,第一个循环,表示呼吸效果呈现255次。
第二个循环,表示一次呼吸效果,这个循环中的两个seq,生成了一个序列:
11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201 211 221 231 241 251 251 241 231 221 211 201 191 181 171 161 151 141 131 121 111 101 91 81 71 61 51 41 31 21 11
将这些数值,依次写入到 led1-pwm/brightness,并延时0.05秒,也就是每个亮度值呈现0.05秒,连贯起来,这样就形成了呼吸灯效果。