|
新手问个简单的驱动程序如何调用的问题,还请不吝赐教
[复制链接]
我在做nios 2的外设驱动开发,nios 2的软件结构(hal)支持字符型设备,文件子系统等通用的设备模型。
最近分析了开发软件自带的一个简单的lcd(character lcd(16x2,optrex16207))驱动程序altera_avalon_lcd_16207.c和它相应的头文件。hal已经提供了一个文件系统,并且已经把lcd定义成了文件子系统设备,最后这一点我是看了它的测试程序之后才知道的,测试程序
...
lcd = fopen("/dev/lcd_display", "w"); //lcd_display是lcd名字
fprintf(lcd, "\nThis is the LCD Display.\n");
...
尽管看懂了驱动程序,但是我现在还是一头雾水,仍然不明白如何以文件的方式来管理和操作它。比如fprintf(lcd, "\nThis is the LCD Display.\n");是如何跟驱动程序中的static void lcd_write_data(alt_LCD_16207_dev * dev, unsigned char data)建立关系并调用它来驱动lcd的,这中间都作了些什么工作。
我是学电子和通信的,对软件结构和编译原理不太懂,是不是要学一些计算机的课程才能搞动这个问题呢?
不知道我以上的提问是否把我的问题描述清楚了。
希望各位大哥大姐指点一下刚开始搞驱动程序的菜鸟,或者推荐一些书目有助于我搞明白这个问题,不胜感激!!!
|
|