b***i 发帖数: 3043 | 1 要写三个, 一个是一个display, 看好了一个4x32文字显示模块,还有USB wireless不
知道是不是在linux kernel里面,还有一个Real Time Clock (I2C)接口。
这些东西难吗?多长时间可以搞定?我们倒是可以找外包搞定的。多少钱合理呢? |
s******u 发帖数: 501 | 2 文字显示模块是GPIO驱动的?这个和I2C一样,直接写user space的程序就可以了,不
一定需要用到kernel driver。
USB wireless不知道,没写过usb stack的driver,所以就不发表意见了
【在 b***i 的大作中提到】 : 要写三个, 一个是一个display, 看好了一个4x32文字显示模块,还有USB wireless不 : 知道是不是在linux kernel里面,还有一个Real Time Clock (I2C)接口。 : 这些东西难吗?多长时间可以搞定?我们倒是可以找外包搞定的。多少钱合理呢?
|
b***i 发帖数: 3043 | 3 真的?是Parallel或者serial,这个就是专门的User space? 还有I2C居然是user
space?
那太好了,我们就是怕耽误项目,
【在 s******u 的大作中提到】 : 文字显示模块是GPIO驱动的?这个和I2C一样,直接写user space的程序就可以了,不 : 一定需要用到kernel driver。 : USB wireless不知道,没写过usb stack的driver,所以就不发表意见了
|
s******u 发帖数: 501 | 4 不知道你们板子定制到什么程度,大多数的情况下可以直接用linux自己的GPIO/I2C驱
动,在编译kernel的时候把这些选项打开,然后就可以直接从user space来读写这些接
口了
如果是特制的硬件,不能用自带的驱动的话,可能就需要自己写一个简单的kernel
module了。其实无非也就是寄存器读写,内存映射,同时提供mmap之类的,写起来也不
麻烦
【在 b***i 的大作中提到】 : 真的?是Parallel或者serial,这个就是专门的User space? 还有I2C居然是user : space? : 那太好了,我们就是怕耽误项目,
|
b***i 发帖数: 3043 | 5 我们直接使用MicroZed(Zynq 7010)的SOM,就是自带1000M以太网/SD卡/USB等设备,但
是我们要三个附加设备:文本模式显示模块,USB wireless(ad hoc/access point模式
),和RTC(Maxim 3231)。
板子自带Linux,是生产商通过Windriver给的,启动16秒(这个我希望能降到6秒)。不
知道是否包含这些设备了。本人自认为是嵌入式工程师,也搞过DOS下的什么中断,端
口读写,也搞过简单单片机。但是这种Linux driver需要多长时间写这些代码?2个星
期搞定得否?我估计代码量不会多,1000行?但是知道写什么,怎么写,编译过程还是
需要一定知识的。准备6月去参加各培训。
【在 s******u 的大作中提到】 : 不知道你们板子定制到什么程度,大多数的情况下可以直接用linux自己的GPIO/I2C驱 : 动,在编译kernel的时候把这些选项打开,然后就可以直接从user space来读写这些接 : 口了 : 如果是特制的硬件,不能用自带的驱动的话,可能就需要自己写一个简单的kernel : module了。其实无非也就是寄存器读写,内存映射,同时提供mmap之类的,写起来也不 : 麻烦
|
s******u 发帖数: 501 | 6 FPGA+ARM SoC?
Xillinx的我没用过,不过最近用过一些altera的类似FPGA+ARM板子
一般来说你需要别人做好的一个kernel的branch,里面有标准的配置文件,板子的
device tree文件等等。加上一个arm的cross compiler就可以build一个kernel出来了
,顺便加加减减一些用得上用不上的module,比方说I2C什么的。
SPI和I2c相对简单,绝大多数soc都有标准的实现和相应的linux驱动,所以你只要照例
子写个c程序就可以按地址读写RTC或者显示模块了,用不着自己写驱动
soc端的gpio需要看情况,至少我用的altera是给了gpio的驱动的。
另外还有个可能是你们把所有的接口放在FPGA一端来完成,这样子你可能需要写个跟
FPGA通讯的驱动程序,或者通过mmap把寄存器映射到userspace来操作。
当然对写程序来说如果能直接写个userspace的app肯定比写kernel module要来的方便
。这里有个问题,如果你的程序要求很高的实时性的话恐怕最好还是写个kernel
module比较好,userspace的process不是实时的,如果被schedule的话可能会有ms左右
的延迟
linux驱动不难写,就是照他的套路实现一堆的函数,比方说init,exit,file
operation,memory operation等等。主要是文档不好找,例子大多就在kernel tree那
一大堆的driver里面找了,看别人怎么写的,自然也就不那么浅显易懂。如果熟悉的话
写这个两个星期应该没什么问题
【在 b***i 的大作中提到】 : 我们直接使用MicroZed(Zynq 7010)的SOM,就是自带1000M以太网/SD卡/USB等设备,但 : 是我们要三个附加设备:文本模式显示模块,USB wireless(ad hoc/access point模式 : ),和RTC(Maxim 3231)。 : 板子自带Linux,是生产商通过Windriver给的,启动16秒(这个我希望能降到6秒)。不 : 知道是否包含这些设备了。本人自认为是嵌入式工程师,也搞过DOS下的什么中断,端 : 口读写,也搞过简单单片机。但是这种Linux driver需要多长时间写这些代码?2个星 : 期搞定得否?我估计代码量不会多,1000行?但是知道写什么,怎么写,编译过程还是 : 需要一定知识的。准备6月去参加各培训。
|
b**d 发帖数: 1174 | 7 Linux的driver和Windows比起来,好写几个数量级。大多数情况下,你只要在kernel
source里面找类似的代码,拿过来改改,加自己的business即可。usb driver本身很简
单,就是注册一些callback,kernel里面有例子。usb wireless adapter市场上早就有
了,你去找厂家的open source代码吧
compile本身没啥技术含量。debug的话,没死机就是dmesg了,否则就只能痛苦的
serial port...good luck!调试就是linux上最扯淡的事情 |
a*****g 发帖数: 19398 | 8 好写,俺以前写过网络的
其实俺“好写”也是经历了很长的学习周期和练习之后。
【在 b***i 的大作中提到】 : 要写三个, 一个是一个display, 看好了一个4x32文字显示模块,还有USB wireless不 : 知道是不是在linux kernel里面,还有一个Real Time Clock (I2C)接口。 : 这些东西难吗?多长时间可以搞定?我们倒是可以找外包搞定的。多少钱合理呢?
|
S*A 发帖数: 7142 | 9 应该好写,但是看你问这些问题的方式来说,估计你两个星期写不下来。
那个字符显示是用什么芯片驱动的?这个决定你的接口复杂度。
如果是 OLED 这一类那就比单纯字符的复杂很多。
usb wireless 应该用 Linux 支持的 USB 芯片直接就可以用了。
RTC 那个很简单,估计已经有人写了,你的 i2c/GPIO pin 配置对了
应该就可以直接驱动了。
【在 b***i 的大作中提到】 : 我们直接使用MicroZed(Zynq 7010)的SOM,就是自带1000M以太网/SD卡/USB等设备,但 : 是我们要三个附加设备:文本模式显示模块,USB wireless(ad hoc/access point模式 : ),和RTC(Maxim 3231)。 : 板子自带Linux,是生产商通过Windriver给的,启动16秒(这个我希望能降到6秒)。不 : 知道是否包含这些设备了。本人自认为是嵌入式工程师,也搞过DOS下的什么中断,端 : 口读写,也搞过简单单片机。但是这种Linux driver需要多长时间写这些代码?2个星 : 期搞定得否?我估计代码量不会多,1000行?但是知道写什么,怎么写,编译过程还是 : 需要一定知识的。准备6月去参加各培训。
|
x****u 发帖数: 44466 | 10 驱动显示设备的还用得着写驱动?
【在 S*A 的大作中提到】 : 应该好写,但是看你问这些问题的方式来说,估计你两个星期写不下来。 : 那个字符显示是用什么芯片驱动的?这个决定你的接口复杂度。 : 如果是 OLED 这一类那就比单纯字符的复杂很多。 : usb wireless 应该用 Linux 支持的 USB 芯片直接就可以用了。 : RTC 那个很简单,估计已经有人写了,你的 i2c/GPIO pin 配置对了 : 应该就可以直接驱动了。
|