如何让网站收录公司名,南昌做网站建站的,医院网站官方微信精神文明建设,备案网站名称注意事项1、Android系统架构分为四层#xff0c;从下至上依次为Linux内核层#xff0c;C/C代码库、Android SDK API、应用程序#xff0c;要熟悉每一层的内容以及功能#xff1b; 2、Android移植分为应用移植和系统移植#xff0c;系统移植的主要工作是移植Linux驱动和移植HAL从下至上依次为Linux内核层C/C代码库、Android SDK API、应用程序要熟悉每一层的内容以及功能 2、Android移植分为应用移植和系统移植系统移植的主要工作是移植Linux驱动和移植HALAndroid移植的基本原则是尽可能找到驱动和HAL的源代码在源代码的基础上修改要容易得多如果实在找不到源代码只能从头开始编写。Android移植很大程度上是Linux内核移植Linux内核移植主要是移植驱动程序不同Linux版本的驱动程序不能通用需要修改源代码并且要在新的Linux内核下重新编译才可以运行在新的Linux内核版本下 3、驱动开发与内核版本的依赖程度很高所以做驱动开发之前要明确Linux内核版本目前Linux内核主要维护的三个版本是Linux2.4、Linux2.6和Linux3.x查看Linux系统内核版本的方法有2种使用命令【uname -a】或者【cat /proc/version】需要注意的是/proc不是普通的文件系统而是系统内核的映象该目录中的文件是存放在系统内核之中的它以文件系统的方式为访问系统内核数据的操作提供接口 4、Linux内核版本好的组成主版本号、次版本号、修订版本号、微调版本号、为特定的Linux系统特别调校的描述 5、要想学习好Linux驱动开发要做到以下几点 (1) 准备一个自己熟悉的Linux操作系统用于开发和测试Linux驱动 (2) 准备一块开发板 (3) 学习GUN C (4) 学习相关硬件知识 (5) 不断地实践 6、Linux设备驱动的作用对硬件进行抽象降低应用程序与硬件的耦合度 7、Linux设备分为 (1) 字符设备必须以串行顺序依次进行访问的设备 (2) 块设备可以以任意顺序进行访问以块为单位进行操作 (3) 网络设备 8、任何的Linux驱动都有一个装载函数(装载驱动时调用)和一个卸载函数(卸载驱动时调用)装载函数和卸载函数分别通过module_init和module_exit宏指定 9、Linux驱动只与Linux内核有关与Linux系统无关只要使用相同的内核驱动就可以通用判断内核是否相同的方法就是Linux内核版本号只有组成内核版本号的五部分完全相同才能说明两个Linux系统的内核是相同的 10、 Android驱动与Linux驱动的区别就是Android增加了HAL一般的Android驱动都会有对应的HAL但也不是必须的通过NDK可以直接访问Linux驱动但Google建议最好为Linux驱动编写对应的HAL程序库 转载于:https://www.cnblogs.com/mch0dm1n/p/5443202.html