⑴ 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進去。