如何在芯片的字符驱动中对芯片中的RAM写入大量数据(0,1比特流)呢?)
我们在做一个交换机,主控单元用的是MPC8280,我负责使用MPC8280对交换芯片,SDH芯片,信元预处理芯片写驱动,使交换机上电对各个芯片初始化,并给它们的RAM写大量VPI/VCI比特流和一些寄存器写一些信息。我刚入门嵌入式,之前也没C的编程经验,看了一些书,关于linux的命令和gcc,gdb操作,linux操作系统,LDD,和驱动编写。可是没有一个具体的程序是和我要完成的类似或者说是我只看了几个程序。
我想问一下大家:MPC8280分配给这个芯片8bit数据位,给芯片设置了CS,INT,bank分配了足够的内存空间(经过地址转换成虚拟空间后的),它有两个RAM,分别写入不同的大量数据,大概一共200K吧,每次对芯片初始化或者是异常复位进行中断处理的时候都要重新把这些固定的数据写入RAM中,我能不能开辟一个数组,经过数据位转换后(写入的数据是32位,数据线只有8位),利用一些循环(C语言应用程序中的算法),利用outb()输出到给该RAM分配的地址中去呢?
我还想问,这个写入数据进RAM中的函数放在哪里呢?属于驱动的编写内容吗?放在常规字符驱动函数read(),write(),ioctl()之外可以吗?也就是在驱动编写中能像windows下写C应用程序那样随意开辟数组吗?内核空间有影响吗?
我刚入门,问题很多,有的也许大家觉得很可笑,呵呵,希望大家笑过了能帮我解释一下,先谢谢大家了哦!:)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论