系统架构图
//下载linux-4.19.tar.bz2
//解压
tar -xf linux-4.19.tar.bz2
cd linux-4.19
//配置内核
make ARCH=arm CROSS_COMPILE=arm--linux--gnueabihf-- bcm2709_defconfig
//编译内核
make ARCH=arm CROSS_COMPILE=arm--linux--gnueabihf-- zImage modules dtbs -j2
内核模块编译
#include <linux/init.h>
#include <linux/module.h>
// 指定开源协议
MODULE_LICENSE("Dual BSD/GPL");
// 没有参数,有一个int的返回值
// void代表没有参数,也就是对代码的编写要求更高
static int hello_init(void)
{
// printk是内核提供的一个调试函数,
// #define KERN_ALERT "alert"
// printk("alert""Hello, world\n");
printk(KERN_ALERT"Hello, world\n");
return 0;
}
// 没有参数,没有返回值