来瘟司机 发表于 2012-09-30 16:22

关于使用C编写设备驱动在有操作系统的板子上运行的问题

最近开始接触驱动程序,主要参考书就是《嵌入式LINUX开发完全手册》,因为手头就是一个2440的板子。在最简单的GPIO编程中,点亮LED的程序很容易理解,但书上的例子是连接成BIN文件,指定代码段地址,开发板启动后在这个地址运行,其MAKEFILE内容如下:
led_on_c.bin : crt0.Sled_on_c.c
    arm-linux-gcc -g -c -o crt0.o crt0.S
    arm-linux-gcc -g -c -o led_on_c.o led_on_c.c
    arm-linux-ld -Ttext 0x0000000 -gcrt0.o led_on_c.o -o led_on_c_elf
    arm-linux-objcopy -O binary -S led_on_c_elf led_on_c.bin
    arm-linux-objdump -D -m armled_on_c_elf > led_on_c.dis
clean:
    rm -f led_on_c.dis led_on_c.bin led_on_c_elf *.o
这个makefile编译生成一个BIN文件,但有一个汇编写的文件,用于板子启动后将程序正确的引导到MAIN函数。问题是,这个例子是用于裸板的,而现在的2440已经烧了一个YAFFS进去,是可以正常运行的,我希望这个程序象普通C程序样,编译完成后通过FTP下载到开发板,然后在开发板的终端中敲入执行程序名,就可以运行,要怎么做呢?
页: [1]
查看完整版本: 关于使用C编写设备驱动在有操作系统的板子上运行的问题