⑴ linux shell 指令求助
mknod /dev/leds_device c 210 0 //创建设备结点来,主设备号自是210,次设备号是0
insmod /home/ims_app/lpc32xx_led_mole.ko//挂载驱动
udpsvd -vE 0 69 tftpd -c /home/app &//busybox内置的tftpd服务器的配置
// 上面的0表示对所有ip地址都进行侦听
// 如果设置为127.0.0.1那么只能开发板本地arm可以进行ftp
// 比如开发板eth0的的ip地址设为192.168.1.102,那么就不能通过该ip登录
// 所以上面指定ip等于0,那么无论来自127.0.0.1还是192.168.1.102网络地址的
// 数据都能使用tftpd服务器.
// 参数-c表示允许client客户端上传文件到/home/tftpd
telnetd//启动服务器
楼主可以去找些busybox tftp 服务器配置的相关资料去看一下,希望对你有帮助。
⑵ 嵌入式Linux中如何实现应用程序与驱动程序函数接口问题,以GPIO为例
嵌入式来Linux中如何实现应用程序自与驱动程序函数接口问题,以GPIO为例
驱动中的函数定义:
static int sbc2440_leds_ioctl(
struct inode *inode,
struct file *file,
unsigned int cmd,
unsigned long arg)
{
switch(cmd) {
case 0:
case 1:
if (arg > 4) {
return -EINVAL;
}
s3c2410_gpio_setpin(led_table[arg], !cmd);
return 0;
default:
return -EINVAL;
}
}
应用程序中的函数定义:
ioctl(fd, on, led_no);
不明白的地方是函数名都不一样,应用程序中的ioctl函数是如何将参数传递到驱动程序sbc2440_leds_ioctl中的?
xicain
⑶ 不修改Linux内核文件,直接用makefile编译驱动,是不是要先把内核编译一遍
不需要重新编译内核。需要重新制作文件系统,如果你的文件系统是nfs挂载的,那么你只需要将
micro2440_leds.ko复制过去,然后insmod进去。