计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

嵌入式家庭网关中SPI接口的软件模拟(2)

2017-06-20 01:02
导读:②在linux-2.4.x/driver/char/Config.in,添加1行:bool'SPI'CONFIG_SPI便于在make me nuconfig时选择。 ③在linux-2.4.x/driver/char/mem.c在文件头部添加:#ifdef CONFIG_SPI /*编译时选

②在linux-2.4.x/driver/char/Config.in,添加1行:bool'SPI'CONFIG_SPI便于在make me nuconfig时选择。

③在linux-2.4.x/driver/char/mem.c在文件头部添加:#ifdef CONFIG_SPI /*编译时选择该项就执行SPI的初始化函数*/

extern void SPI_init(void);

#endif

在chr_dev_init()函数添加:#ifdef CONFIT_SPI

SPI_init();

#endif

④修改vendor/Samsung/4510b/Makefile,建立起设备节点。

在12~35行间,DEVICE部分添加内容SPI,c,29,0。SPI是设备名,c代表字符设备,29是SPI的主设备号,0是SPI的次设备号。⑤make menuconfig时选中SPI编译,然后直载。

启动后,会看到/proc/devinces中字符设备多了一项SPI 29。

S3C4510B有18个通用I/O口,其中高10位可设置为其它功能口。在该系统中,设置P8为中断接收线,P11模拟主机输出线MOSI,P12模拟主机时钟SCK,P13模拟主机输入线MISO。P8口用于接收PTR3000的发送请求信号。当P8口接收到请求信号时,系统进入中断处理。中断处理进程唤醒睡在睡眠队列SPI_WAIT上的读进程,读进程由P12口输出SCK信号并由P13口读入数据。值得说明的是,SPI不带中断线,在此用P8口做中断接收线是为了避免操作系统在没有进行SPI操作时不断向SCK线发时钟信号。因此,MSP430F147IPM必须另外与S3C4510B连一个引脚在请求发送数据时发出中断接收线是为了避免操作系统在没有进行SPI操作时不断向SCK线发时钟信号。因此,MSP430F147IPM必须另外与S3C4510B连一个引脚在请求发送数据时发出中断请求信号。实现过程如下:

Static wait_queue_head_wait; //休眠队列

上一篇:ADS软件对倍频器的嵌入式电特性仿真 下一篇:没有了