欢迎使用Markdown编辑器
我想在Linkit Smart MT7688上使用PWM做个呼吸灯,使用的内核版本OpenWrt,chaos_calmer
15.05固件,参考的小鱼儿的博客。步骤如下:
step1:修改makefile中的配置
define KernelPackage/mt7688_pwm
SECTION:=utils
CATEGORY:=mt7688_pwm
TITLE:=mt7688_pwm
AUTOLOAD:=$(call AutoLoad,81,mt7688_pwm) #内核自动挂载
FILES:=$(PKG_BUILD_DIR)/mt7688_pwm.ko
KCONFIG:=
endef
这样修改makefile,在openwrt的make menuconfig中就能看到该驱动,选择‘*’ built-in。
step2:放入openwrt/package目录下
step3:make V=s得到带有pwm驱动的固件
step4:下载固件,在Linkit Smart MT7688上的dev目录下可以看到自动加载的pwm驱动。
另外:
1 .mt7688_pwm.c中的setup_gpio错误初始化了ttyS1,我的代码里面已经隐藏了。
value = le32_to_cpu(*(volatile u32 *)(RALINK_GPIOMODE));
value |= (2 << 24);
*(volatile u32 *)(RALINK_GPIOMODE) = cpu_to_le32(value);
这是把ttyS1的两个IO初始化为gpio,如果用到ttyS1,需要隐藏这三行代码。
2 .如果想输出两路pwm,"struct pwm_cfg cfg,cfg1"加一个变量就能单独控制了。
下载地址:百度云盘 提取码: prs2