F1C100S驱动开发

Uboot和系统跑起来了,接下来就是进行驱动开发了; Heartbeat(心跳灯) 修改设备树: 在设备树文件arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts中; 在 / { } 所包裹的根节点目录下添加: leds { compatible = "gpio-leds"; user_led { label = "led:usr"; gpios = ; /* PE12 */ }; }; 其中 gpios = ; /* PE12 */ 代表引脚 4 * 32 + 12也就是PE12( A~G: 0~6) 其名字为:led:usr; 系统启动后与LED控制有关的文件; 系统启动后,将看到这样的文件: $: ls /sys/class/leds/ led:usr 这里三个文件夹分别对应设备树中定义的三个LED; 编译设备树: 可以只编译设备树,不编译其他文件; make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs -j12 控制LED灯亮灭: 点亮LED: $: echo 1 > /sys/class/leds/led\:usr/brightness 熄灭LED: $: echo 0 > /sys/class/leds/led\:usr/brightness 控制LED闪烁: ...

October 2, 2022 · 2 min · Rancho

F1C100S开发记录

最近画了一个Linux板子,主控是全志的F1C100S,自带了32M RAM,不是很大,但是可以学习下; 板子图片: 板子正面 板子反面 UBoot启动 FLASH下载工具使用 1、通过命令 sudo sunxi-fel ver 来确认有无成功进入fel模式; sudo sunxi-fel ver 2、短接FLASH1和4脚,可以进入fel模式,其实就是CS引脚拉低; 3、单次运行(下载到RAM中): sunxi-fel uboot /your/path/to/u-boot-sunxi-with-spl.bin 4、烧进 spi-flash (开机自启) sunxi-fel -p spiflash-write 0 /your/path/to/u-boot-sunxi-with-spl.bin 其中0是烧录偏移地址; Uboot编译 sudo apt-get install git git clone https://gitee.com/LicheePiNano/u-boot.git cd u-boot # 查看分支 git branch -a # 切换到 Nano 分支 git checkout nano-lcd800480 git clone -b nano-lcd800480 --depth=1 https://github.com/Lichee-Pi/u-boot.git 此处告知make采用arm-linux-gnueabi下的所有交叉编译工具,目标架构为Arm,设定各项默认配置为 nano 的spiflash支持版 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- f1c100s_nano_uboot_defconfig # 若不带spi-flash的板子,请换成 licheepi_nano_defconfig # 进行可视化配置 make ARCH=arm menuconfig # 修改默认bootcmd gedit include/configs/suniv.h # 需要修改为 #define CONFIG_BOOTCOMMAND "run distro_bootcmd" # 开始编译 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8 只需要u-boot-sunxi-with-spl.bin即可; ...

October 1, 2022 · 7 min · Rancho