My F1C200s and F1C100s study
Find a file
2025-09-19 16:21:24 +08:00
.gitignore Initial commit 2021-07-23 08:09:30 +08:00
buildroot_001.txt Create buildroot_001.txt 2023-09-24 12:49:22 +08:00
README.md Update README.md 2025-09-19 16:21:24 +08:00

wmt_f1c_study

My F1C200s and F1C100s study

steward-fu/lichee-nano

芒果派r3, dfrobot, uname -a

Linux mangopi-r3 5.4.92 #1 Tue May 11 10:39:00 CST 2021 armv5tejl GNU/Linux
search baidupan, sysimage-nand-120mb.zip (behide lcpi_factory.rar)

Build hello program for Linux mangopi-r3 5.4.92, get a.out

#include <stdio.h>

int main()
{
	printf("Hello, world!\n");
	return 0;
}

Flash Linux firmware, and copy file a.out to file system

  • https://mangopi.org/f1c_flashrom
  • mpi-r-tools.zip, zadig-2.5.exe, Device, Create New Device, Allwinner FEL Device, USB ID: 1F3A EFE8, Install Driver
  • mpi-r-tools.zip, zadig-2.5.exe, Device, Create New Device, Allwinner DFU Device, USB ID: 1F3A 1010, Install Driver
  • no TF, hold press BOOT and press RST
  • from-fel-to-dfu.bat
  • dfu-util.exe -R -a all -D output\images\sysimage-nand.img (use sysimage-nand-120mb.zip)
  • reset, and connect board's USB OTG to PC, wait a minute, get a storage driver (named Widora MangoPi R3)
  • Copy elf file (a.out) to storage driver (mangopi-r3), copy to /root
  • Connect board's USB TTL to PC, use putty to get tty console.
  • chmod +x a.out && ./a.out
  • NOTE: Using zadig to install Allwinner FEL Device and DFU Device will break PhoenixSuit firmware burn function, sometimes you need to uninstall it if not used
  • 注意注意安装FEL和DFU可能会导致PhoenixSuit无法使用看不到进度条从而无法烧录如果出现这种情况需要卸载USB驱动后再使用PhoenixSuit

【荔枝派Nano】F1C100S的串口

https://www.bilibili.com/read/cv9912248/
https://gitee.com/cai_xl/F1C100S_examples

fb-test, fbset

ARM9/ARM11裸机开发笔记1之MDK开发环境和点亮LED

http://www.openedv.com/forum.php?mod=viewthread&tid=45055

F1C100s_with_Keil_RTX4_emWin5

裸机工程: https://github.com/hongxuyao/F1C100s_with_Keil_RTX4_emWin5
https://gitee.com/xuyao2020/F1C100s_with_Keil_RTX4_emWin5
https://www.amobbs.com/thread-5708471-1-1.html
https://www.amobbs.com/thread-5731101-1-1.html

--c99  
E:\Keil_v4\ARM\Segger\emWin\Include  
E:\Keil_v4\ARM\Segger\emWin\Lib\GUI_ARM_L.lib  

F1C100s_with_Keil_RTX4_emWin5_spl_v1.rar
FIXME: Only ddr running (program lost after resetting), not available for nand flash
https://github.com/glorycoder/F1C100s_with_Keil_RTX4_emWin5
https://github.com/motoedy/RTX4-emWin-on-F1C100s
see https://github.com/nminaylov/F1C100s_LVGL

f1c200s(tiny200) linux+emwin稳定运行

https://whycan.com/t_4739.html
https://github.com/xiaofengvskuye/f1c200s_emwin/blob/master/Sample/SimpleDemo/main.c

rt-thread

https://github.com/vvhh2002/f1c100s_rt-thread
https://github.com/vvhh2002/lv7_rtthread_f1c100s
https://github.com/VeiLiang/BoloRTT
https://whycan.com/p_33590.html

F1C100s_projects, 'u-boot, fatload mmc, go'

f1c100s, nor flash, licheepi nano, 荔枝派nano

我把荔枝派nanof1c100s nor flash版烧录过程跑通了。
我用的开发板是荔枝派nano不过需要做手脚而且这个开发板出厂不支持录音
如果要录音的话最好用芒果派r3但芒果派r3的nand flash版不能用sunxi-fel直接烧录
我还在想这个如何解决。关于荔枝派nano由于出厂是无法直接烧录nor flash的板载的w25q128
需要搭额外的电路我的做法如下仅供参考用一个母对公杜邦线接在GND脚上
用一个导线一头弯钩接在w25q128的1脚上最靠近芯片白色圆点的那个脚
另一头接在母对公杜邦线,这两根杜邦线接在一起(通过面包板),
通过usb线接通开发板即可进入FEL模式启动后需要马上在面包板上断开上述的两根杜邦线
否则w25q128会无法片选使能。然后就可以spiflash-read和spiflash-write了
可以读出官方的ROM可写入自己的ROM

f1c200s, nor flash (also with nand flash, but fail to run widora's mangopi nand rom), 小淘气科技

  • 我购买了小淘气科技的F1C200s开发板带nor和nand flash没有买代码。
    这个板相当于荔枝派nanoUART0是调试输出但也可以兼容芒果派r3需要改接UART1即PA2收PA3发才能看到调试输出
    另外虽然带有nand flash通过跳帽来选择但我试过无法运行芒果派r3的nand flash rom
    可能是因为nand flash的芯片型号不同待考。屏幕是接屏线的下方的排针其实是空出来没有接到屏幕。
    兼容800x480分辨率我买的是这个分辨率即可以忽略掉触摸功能和屏线屏幕输出是不受影响的。
    带有喇叭,在屏幕转接板的背面,可以拔掉线,或者用耳机来避免声音过大(当然一般情况下不会用到声音输出)
  • search baidupan, F1C100S开发板资料, F1C100S开发板硬件资料.rar

F1C200S, 小淘气

全志F1C200S F1C100S 介绍

https://blog.csdn.net/tunqimai9331/article/details/95938903

关于荔枝派LiChee PiNano初体验中的114514个坑

https://www.stlee.tech/2020/06/25/关于荔枝派LiChee%20PiNano初体验中的114514个坑/ https://github.com/Icenowy/linux/archive/f1c100s-480272lcd-test.zip

【荔枝派Nano】F1C100S的boothead和BROM, 哔哩哔哩专栏

https://www.bilibili.com/read/cv9477324/

mangopi r3

https://mangopi.org/mangopi_r
https://github.com/mangopi-sbc/buildroot-mangopi-r

dfrobot, mangopi r3

https://wiki.dfrobot.com.cn/_SKU_DFR0780_MangoPi-R3#target_6
https://wiki.dfrobot.com/MangoPi_R3_SKU_DFR0780

SO YOU WANT TO BUILD AN EMBEDDED LINUX SYSTEM?

ARM9开发板对比英文
https://jaycarlson.net/embedded-linux/

F1C100S/F1C200S系统构建

https://littlevgl.readthedocs.io/en/latest/Doc/03.F1C100S_Linux/F1C100S_Linux.html

ARM9/ARM11裸机开发笔记1之MDK开发环境和点亮LED

http://www.openedv.com/forum.php?mod=viewthread&tid=45055

F1C100s with Keil RTX4 + emWin5

https://gitee.com/xuyao2020/F1C100s_with_Keil_RTX4_emWin5
用Keil开发ASM9128T让你坐拥RTX+TCPnet+emWin中间件
https://www.amobbs.com/thread-5708471-1-1.html
福利来了基于F1C100s完美运行RTX4+emWin
https://www.amobbs.com/thread-5731101-1-1.html

f1c200s(tiny200) linux+emwin稳定运行

https://whycan.com/t_4739.html
https://github.com/xiaofengvskuye/f1c200s_emwin/blob/master/Sample/SimpleDemo/main.c

荔枝派Nano使用gcc-linaro-7.2.1进行交叉编译得到的可执行文件,一运行就"segmentation fault"

https://whycan.com/t_3265.html

(未整理的链接)

横米游戏机SDK

https://github.com/jeason1997/MiyooSDK/tree/master/demo
https://github.com/jeason1997/MiyooSDK/blob/master/demo

关于芒果派R3无法插入屏线线头的问题

上次我买的dfrobot的f1c200s开发板芒果派r3它的翻盖fpc连接器怎么放都放不进去屏线
今天我解决了这个问题。其实很简单,买那种蓝色屏线头然后用延长板转接就行,放不进去是因为屏线不够硬,
那个插座要很用力才能放进去如果屏线的线头不够硬是没办法把屏线放进去芒果派r3的连接器中
而蓝色端的的那种fpc延长线反倒可以

尝试从一开发F1C100s应用 (使用lsz命令)

Target packages  --->
Networking applications  --->
[v] lrzsz

Planck-Pi, f1c200s

智能虚仪电子研发室, LVGL 8.0 port

qemu-f1c100s

以前的笔记

  • 其实我星期天的时候在F1C200s开发板和4.3寸屏上跑通了网上高手whycan开源的无操作系统开发模板工程F1C100s_with_Keil_RTX4_emWin5-spl-separated这个例子只不过我只能在内存运行不知道用何种方法烧录到nand flash上就是重启会丢失——其实这个例子是有版权问题的首先这个工程可以用mdk4编译需要加上--c99开关而MDK4是付费的而RTX4和emWin则是mdk4里面自带的软件而RTX4需要另外付费emwin是一个GUI库可以依赖于RTX4所以需要付费RTX才能使用

  • 我购买了小淘气科技的F1C200s开发板带nor和nand flash没有买代码。这个板相当于荔枝派nanoUART0是调试输出但也可以兼容芒果派r3需要改接UART1即PA2收PA3发才能看到调试输出。另外虽然带有nand flash通过跳帽来选择但我试过无法运行芒果派r3的nand flash rom可能是因为nand flash的芯片型号不同待考。屏幕是接屏线的下方的排针其实是空出来没有接到屏幕。兼容800x480分辨率我买的是这个分辨率即可以忽略掉触摸功能和屏线屏幕输出是不受影响的。带有喇叭在屏幕转接板的背面可以拔掉线或者用耳机来避免声音过大当然一般情况下不会用到声音输出

  • 昨天试了一下把f1c200s的u-boot的sd卡运行模式跑通了fatload命令不过nand flash的引导方法仍然没有头绪。fatload有个几个缺点是要先保证tf卡是FAT文件系统这个可能有点坑因为可能会提示缺分区表我是拿PSP2000去格式化TF卡其次需要先引导到u-boot这里有个技巧就是先按住BOOT按钮reset进入FEL然后通过from-fel-to-dfu.bat进入DFU模式而其实所谓的DFU模式就是U-BOOT只不过会卡住等待这时候在串口控制台按Ctrl+C中断即可回到U-BOOT命令行然后通过fatload mmc 0:1 80000000 lcd_test.bin 和go 80000000即可运行参考nminaylov/F1C100s_projects我更想知道能否用类似的方法引导nand flash的代码如果可以的话就可以解决nand引导问题

  • 如果没用过芒果派r3之类的f1c200s可能会觉得奇怪为什么很多人都是通过bare metal方式无操作系统去开发那是因为它跑Linux内核的话会启动得很慢——有可能是因为通过nand 128MB去引导系统文件系统也是nand flash会导致写入速度过慢从而导致busybox启动速度非常慢。当然还因为f1c本身性能比较低下当然还有别厂的arm9处理器比这个还慢如果换成v3s会快几倍所以有一批人是专门研究v3s而不是研究f1c

  • 所以我猜测有可能是因为toolchains.bootlin.com的linux和gcc的版本比较新所以编译出来的a.out才可以正常运行我测试的f1c200s widora linux版本也很高。当然也不排除是因为bootlin的armv5 gcc是基于buildroot来编译的因为它的文件前缀就有buildroot字样 ?

  • 我试了一下如果想在f1c200s的linux下运行hello有一个相对简单的方法就是下载toolchains.bootlin.com的armv5交叉工具链armv5-eabi--glibc--stable-2020.08-1然后直接gcc即可也可以加上参数-mcpu=arm926ej-s效果是一样的工具链不支持windows我试过树莓派和linaro的工具链即使加上-mcpu=arm926ej-s都不行。或者可以通过buildroot未试验。

  • 我最近买了两块f1c200s的开发板whycan论坛上经常出现的一个东西分别是dfrobot和艾尔赛。dfrobot的版本nand 120MB版不带麦克风需要自己烧录固件。而艾尔赛的版本是带固件带麦克风的。使用相同的固件。我惊奇地发现widora的固件支持模拟U盘通过OTG口可以模拟出一个类似安卓设备的东西然后可以写入和复制文件系统里面的文件这样对于开发来说非常方便因为可以直接把elf文件拷贝进去然后在串口命令行执行

  • 除了我之前说的芯灵思全志SIN-V3S可以录音以外基于全志v3s其实芒果派R3也可以基于全志f1c200s只不过找它的官网是找不到相关的信息倒是在dfrobot的资料库中可以找到可以通过一个命令行tinycap实现录音而这个命令行是出自一个开源项目tinyalsa可以在github上找到这个项目的源代码通过buildroot编译进固件

EasyUSB

  • https://github.com/VeiLiang/EasyUSB
  • 创建一个易于使用和移植的usb驱动工程支持一些常用的SOC芯片。目前支持的芯片列表全志F1C100S, 全志V3s

MyLibrary, gpio-f1c100s.h

f1c100s-boot

xboot

micropython_for_f1c100s

f1c100s-linux

suda-f1c100s

【自制】圆梦Linux小电脑, f1c200s

寒假制作了一个Linux小玩具, f1c200s

(TODO) liulianpi, 榴莲派, f1c100s + nor spi flash

基于 Linux 的 Buildroot 制作根文件系统 -- rootfs

榴莲派固件编译

原来如此可能是这样子荔枝派nano官方是Linux 4但Mangopi r3和r2tiny200是Linux 5而且是嵌入到buildroot中我之前没想起来是因为Mangopi r3是nand flash只有tiny200是nor flash
除了Tiny200是Linux 5似乎基于buildroot编译还有一个文档化更详细的叫suda-f1c100s也是Linux 5版的f1c100s我觉得可以试试。之前编译榴莲派提供的Linux 5代码但运行失败但如果编译Linux 4则可以我想试试其他方法。还有一些人是基于sdcard的如Planck-Pi暂时不研究
  • f1c lvgl编译运行 在榴莲派f1c100s上运行lvgl_demo (v7)和图片背景的lvgl效果如下。我测试过只能通过buildroot的交叉工具链编译或者用arm-none-linux工具链静态链接动态不行需要加上-mcpu=arm926ej-s -mfloat-abi=soft开关才可能运行成功用编译Linux的工具链反而不行 。通过tf卡传入elf文件并且扩展文件系统
    lvgl_demo_nor_flash_uclibc
    简单用buildroot生成的工具链编译
    lv_port_linux_frame_buffer_f1c_480_br_uclibc_v1.tar.gz
    静态链接才可运行:
    lv_port_linux_frame_buffer_f1c_480_none_v1.tar.gz
    buildroot带图片版
    lv_port_linux_frame_buffer_f1c_480_image_br_uclibc_v1.tar.gz
  • (480 g++ ipc)
    用榴莲派f1c100s运行qt4示例digitalclock和nes模拟器(infones)静态链接版大概15MLinux 4版系统固件效果如下。用ubuntu14 32位编译需要打开buildroot的工具链的c++和wchar配置开关并且打开Linux 4内核的system v ipc配置开关。由于静态链接elf文件和字体文件太大了塞不进nor flash内我这里是用tf卡执行字体则使用软连接。nes模拟器帧率低于d1s和树莓派zero
    licheenano_480_ubuntu140432_v3_g++_ipc.tar.gz
    里面的qt4nes
  • 榴莲派f1c100s Linux 5版
    fb-test
    榴莲派f1c100s编译运行linux 5版固件编译自aodzip buildroot版fb-test运行效果如下。这个固件和Linux 4版的区别有这些1编译Python更花时间如果单独编译u-boot和linux更快2toolchain->rootfs->u-boot->linux->pack3make sipeed_lichee_nano_defconfig默认配置4一次就编译出三种ROMsdcard/nand/nor显示屏分辨率4802725rootfs加了比较多的东西例如gdbserver, fbtest, tinyplay
    sysimage-nor_480_272_aodzip_nano.img

f1c100s, gitee

F1C100S_examples

全志F1C100s使用记录u-boot & linux & rootfs 编译与烧录测试基于SD卡

f1c100s-gpio-tools

(TODO, TODO) MiyooCFW

sup m3, MiyooCFW-2.0.0-Beta-7fc5140.zip, musl
隔了好几个月我终于摸索出怎么在sup m3上正确配置运行MiyooCFW的方法。
其实很简单就是要多修改options.cfg这个文件才行。
1首先要穷举console.cfg中的CONSOLE_VARIANT值
我选择了CONSOLE_VARIANT=m3_r61520参考firstboot文件
可以显示为了跳过安装程序需要把firstboot改名例如firstboot.skip
但屏幕还是会反色
2如何解决反色问题呢答案在firstboot里
firstboot里面提到一个配置文件options.cfg
这个文件不容易找到是因为需要tf卡通过掌机去连PC
而不是通过读卡器连PC这样就可以看到main盘符
然后修改里面options.cfg的配置INVERT=0
然后重启即可得到正常颜色的MiyooCFW
3由于sup m3的按键不太适应MiyooCFW
所以只能勉强用但framebuffer应该正常了
  • Sup M3, 2.8inch (3inch?), 320x240, 24pin ???

miyoo-toolchain

  • miyoo-toolchain-v2.0.0-arm-buildroot-linux-musleabi_sdk-buildroot.tar.gz