Below you will find pages that utilize the taxonomy term “Moschip”
Linux 下 ARM 的 bootloader 开发环境
整了将近一周……终于搞定了~
因为比赛需要,我正在试着为博创的uptech 2410开发板改进uboot,使之支持用户通过触摸屏选择,从SD卡读取系统镜像并引导。因为uboot的开发环境是Linux,而ADS之类的东东又没办法在Linux下运行(其实我觉得ADS也不怎么好用……),我只好自己想办法弄出一套开发环境来……
需要的设备有:
1. 基于Moschip 9865芯片组的PCI转1并2串转接卡
2. wiggler线。uptech自带的jtag调试线相当不标准,既不是wiggler又不是sdt,而是自己搞的一套引脚定义。引用网上某人(忘记谁了)的话说,有些公司为了显示自己的技术实力,故意把引脚定义弄得乱七八糟。
3. 20-14针jtag转接板
Moschip 9865在Debian wheezy下的驱动还是比较容易的,只不过容易受到误导而绕弯路。官方的驱动是不需要的,也是没有用的。首先,官方的驱动在Debian Wheezy下根本无法编译通过。mcs9865.c中第1993行
<br></br>static DECLARE_MUTEX(serial9865_sem);<br></br>
是不正确的。最新的内核声明信号量的语法已经改成了
<br></br>static DEFINE_SEMAPHORE(serial9865_sem);<br></br>
修改完后,可以编译,可以安装(Makefile中的一些路径依然有问题)。但是无论如何也不会出现官方手册中说的/dev/ttyD*。经过我的测试,其实根本不需要什么驱动,/dev/ttyS*就是可以正常运行的串口……只是需要花时间找找哪一个才是需要的串口而已(我在win下的COM1在这里不是ttyS0,而是ttyS1)。
并口的驱动更加简单。执行
lspci -v
找到类似这样的一段(一般是最后一段):
05:02.2 Parallel controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 03 [IEEE1284])
Subsystem: Device a000:2000
Flags: bus master, medium devsel, latency 32, IRQ 20
I/O ports at dd00 [size=8]
I/O ports at dc00 [size=8]
Memory at fdcfb000 (32-bit, non-prefetchable) [size=4K]
Memory at fdcfa000 (32-bit, non-prefetchable) [size=4K]
Capabilities:
Kernel driver in use: parport_pc
记下IRQ 和 第一个 I/O ports at xxxx [size=8]。然后执行:
modprobe parport_pc io=0xdd00 irq=20
不需要先rmmod,直接modprobe就可以。
然后再执行
modprobe ppdev
此时,/dev/parport0 就应该出现了。