嵌入式学习笔记之模块生成及调用
2017-01-04 10:59
239 查看
模块调用过程:
1、创建led.ko
创建.ko文件的过程详见 http://blog.chinaunix.net/uid-16759545-id-4892379.html;(注:make
menuconfig中Device Drivers菜单下,选中项这里使用[M]作为modules)
2、串口连接
这个就不多讲了,拿串口线将PC和芯片连接;
3、开发板固件烧写
(1)固件生成,由于每个开发板的生成命令不一样,具体以芯片手册为准,这里是我使用的命令:
uboot
编译:
cd u-boot
make rk3399_defconfig
make ARCHV=aarch64
kernel 编译:
cd kernel
make ARCH=arm64 rockchip_defconfig -j8
make ARCH=arm64 rk3399-sapphire-excavator-edp.img -j12
android 编译:
source build/envsetup.sh
lunch rk3399_64-userdebug
make -j12
./mkimages.sh
固件生成后会在某个文件夹下显示,下面是我这里固件生成的文件目录:
rockdev/Image-xxx/
├── boot.img
├── kernel.img
├── misc.img
├── parameter.txt
├── recovery.img
├── resource.img
├── RK3399MiniLoaderAll_V1.05.bin
├── system.img
├── trust.img
└── uboot.img
接着就是固件烧写了,填好相应的路径,点击执行,然后烧写成功了。
4、载入模块
使用insmod led.ko载入到开发板中modules文件夹下;
5、应用层调用
准备Android makefile文件和测试文件(我这里是Android.mk和test.c文件),配置安卓环境,我这里使用的是:
source build/envsetup.sh
lunch rk3399_64-userdebug
然后,在终端输入:mm,生成可执行文件led_test,最后运行即可。
1、创建led.ko
创建.ko文件的过程详见 http://blog.chinaunix.net/uid-16759545-id-4892379.html;(注:make
menuconfig中Device Drivers菜单下,选中项这里使用[M]作为modules)
2、串口连接
这个就不多讲了,拿串口线将PC和芯片连接;
3、开发板固件烧写
(1)固件生成,由于每个开发板的生成命令不一样,具体以芯片手册为准,这里是我使用的命令:
uboot
编译:
cd u-boot
make rk3399_defconfig
make ARCHV=aarch64
kernel 编译:
cd kernel
make ARCH=arm64 rockchip_defconfig -j8
make ARCH=arm64 rk3399-sapphire-excavator-edp.img -j12
android 编译:
source build/envsetup.sh
lunch rk3399_64-userdebug
make -j12
./mkimages.sh
固件生成后会在某个文件夹下显示,下面是我这里固件生成的文件目录:
rockdev/Image-xxx/
├── boot.img
├── kernel.img
├── misc.img
├── parameter.txt
├── recovery.img
├── resource.img
├── RK3399MiniLoaderAll_V1.05.bin
├── system.img
├── trust.img
└── uboot.img
接着就是固件烧写了,填好相应的路径,点击执行,然后烧写成功了。
4、载入模块
使用insmod led.ko载入到开发板中modules文件夹下;
5、应用层调用
准备Android makefile文件和测试文件(我这里是Android.mk和test.c文件),配置安卓环境,我这里使用的是:
source build/envsetup.sh
lunch rk3399_64-userdebug
然后,在终端输入:mm,生成可执行文件led_test,最后运行即可。
相关文章推荐
- seaJs学习笔记之怎么调用模块
- seaJs学习笔记之怎么调用模块
- 小松之LINUX驱动学习笔记之模块间函数调用通讯
- STM32学习笔记6(TIM通用模块生成PWM)
- 【C#学习笔记】调用C++生成的DLL
- Node.js学习笔记_模块调用
- 嵌入式Linux学习笔记之内核模块
- react native学习笔记25——Android原生模块的封装与调用
- ReactNative学习笔记之调用原生模块(进阶)之Callback、Promise使用
- 【C#学习笔记】调用C++生成的DLL
- node.js学习笔记之模块调用
- Thinkphp学习笔记 调用Image类生成缩略图
- Nginx学习笔记---HTTP模块调用
- 学习笔记: linux下静态库与动态库的生成与调用
- react native学习笔记26——iOS原生模块的封装与调用
- 生产模块学习笔记(一)
- Spring in Action 学习笔记—第六章远程调用
- 嵌入式系统学习笔记(1)
- DELPHI调用JAVA代码学习笔记1
- 嵌入式开发学习笔记(YL2440,一些需要注意的地方)