- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 驱动调试
软件调试:1、printk打印调试 2、使用/proc文件系统调试 3、使用strace观察调试 4、使用kgdb调试 - 硬件调试: - 一般是示波器探测
2017-01-14 09:39:52 383
原创 linux配置网络
ifconfig eth0 192.168.2.12 netmask 255.255.255.0 broadcast 192.168.2.255route add defualt gw 192.168.2.1
2017-01-13 21:50:51 405
原创 ioremap
1、一般我们的外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器、数据寄存器三大类。外设的寄存器通常被连续编址,并且根据CPU的体系架构不同CPU对IO端口的编制方式有两种:IO映射方式(IO-mapped):比较典型的有X86处理器为外设专门实现了一个单独的地址空间,称为“IO端口空间”或者“IO地址空间”,此时CPU可以通过专门的指令(比如X86的IN和OUT)来访问这个“
2017-01-12 22:56:20 21433
原创 uart
1、串口驱动的模型可以依照tty驱动模型来分析:首先Uart驱动也有一个driver结构体(Uart_driver)我们也要对这个结构体进行注册:tty_driver{ struct module* owner; const char* driver_name; const char* dev_name; int major; int minor; i
2017-01-10 22:46:06 586
原创 文章标题
1、串口是控制终端的一种,所以串口驱动完全可以依据控制终端驱动的模型来分析。在tty驱动中首先会注册一个tty设备,然后会实现字符设备的file_operations结构体,得到这个结构体之后再会去fs/char_dev.c 中注册一个字符设备。所以终端设备的驱动程序本质上是一个字符设备,所以我们的串口设备也是一个字符设备。 2、终端驱动(tty驱动)的分层结构:tty核心、tty线路规程、tt
2017-01-09 22:50:34 489
原创 文章标题
1、Linux中的磁盘分区是MBR结构(Master Boot Record)可分为主分区和扩展分区,扩展分区又分为逻辑分区。 2、利用“sudo fdisk -l”来查看Linux中的磁盘分区情况。 3、/dev/sda1、/dev/sda2、/dev/sda3、等: 分析: [a]“sda1”中的“a”代表Linux识别的第一块硬盘,同理第二块硬盘则为“sdb”。 [b]“sda1
2017-01-06 21:43:19 242
原创 sqlite3.7.0移植
1、在源码顶层目录中运行./configure --host=arm-none-linux-gnueabi --prefix=/home/workdir/lot_system/sqlite/sqlite-arm2、make 3、make install4、将安装目录(sqlite-arm)下的bin中的sqlite3廋身(arm-none-linux-gnueabi-strip sqlite
2017-01-05 22:46:46 239
原创 boa移植
boa介绍:Boa Webserver是一个效率较高的web服务器,大小只有60kb左右,很适合于嵌入式系统的单任务的http服务器,但是它不可以实现像Apache、thttpd等高性能的服务器那样实现并发响应。Boa只有在完成一个请求之后才可以响应下一个请求。但是Boa却支持CGI,当CGI程序发出请求时,Boa可以fork出子进程为CGI服务实现并发响应。编译Boa: a、解压源码,进入sr
2017-01-03 21:10:46 566
原创 busybox
编译: a、 make menuconfig 选中busybox setting/build option/静态编译。将库编译进应用程序,使得在运行时不要依赖其它的库。然后修改交叉工具链前缀 b、make 生成了busybox_unstripped即没有廋身的busybox c、make install 默认安装在__install文件夹中 2、继续创建etc目录来完成根文件系统:
2017-01-02 20:42:46 268
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人