# FunKey-doc **Repository Path**: itschina/fun-key-doc ## Basic Information - **Project Name**: FunKey-doc - **Description**: 开源掌机FunKey项目的一些个人理解和笔记 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2024-07-19 - **Last Updated**: 2024-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 免责声明 本文档纯属个人项目,文章基于个人理解,笔者无法对内容正确性进行保证。欢迎提问,纠错,issue或者PR。 ## FunKey项目 项目官网:https://www.funkey-project.com/ 项目开源链接:https://github.com/FunKey-Project/ 其中固件源码仓库:https://github.com/FunKey-Project/FunKey-OS 硬件开源仓库:https://github.com/FunKey-Project/FunKey-S-Hardware 在其项目开源组织下还有其移植过的模拟器及一些自定义工具的源码,在此不一一列举,请移步https://github.com/FunKey-Project/查看。 ## 本文档目的 ​ FunKey本身是一款软硬件全部开源的迷你掌机;从技术上讲,是一个基于全志V3S,使用linux内核的中等复杂度的手持嵌入式设备。 ​ 本仓库旨在通过分享一些笔者自己的见解,帮助FunKey爱好者们更好的理解FunKey系统,通过一些改动,实现自己的版本;帮助linux或者BSP的学习者理解嵌入式linux系统从硬件到BSP,再到应用的全流程,更进一步的对软硬件进行修改,增删,在DIY的同时精进自己的技术。 ## 注意 ​ 本文档不是从介绍Funkey项目当前现状的角度编写的,毕竟动笔时笔者也才知道这个项目半月而已,故此本文档主要从探索、发现和研究的角度,一步步摸清各系统、各部分的原理和实现,此外,探索的过程也可以为同样想深入了解的爱好者提供思路,算是抛砖引玉吧。 ​ 由于笔者制作的是立创开源版本,可能和原版FunKey硬件上有些许差别,如制作原版,请自行对照官方文档。 - 如需要对整个系统进行技术层面的了解,请先从**系统概述**开始。 - 如需解决具体问题,先查看本文档**问题快速指引**部分。 ## 本仓库结构 目前很多空文件,flag先立这里... ```sh ├── 系统概述.md ├── 硬件设计解析 │   ├── 电源.md │   ├── 屏幕.md │   └── 系统框图.md ├── 源码包解析 │   ├── 概述.md │   ├── 各模拟器解析 │   └── Funkey自定义实现 ├── 制作过程相关文档 │   ├── 固件编译&获取.md │   ├── 焊接指南.md │   └── 外壳制作&获取.md ├── BSP各子系统解析 │   ├── 图形子系统.md │   ├── 文件系统-SD卡目录结构说明.md │   ├── 音频子系统.md │   └── IO子系统.md ├── BSP解析 │   ├── 纯技术层面的BSP解析.md │   └── 应用层启动流程.md └── readme.md ``` ### 通过本项目你得到什么 爱好者成品展示见image/show文件夹。待征得群友同意。 ## 制作门槛 ### 硬件成本 #### 物料成本 在不考虑备件和假设没有任何物料的情况下,物料成本150RMB以下(包括一部分运费) #### SMT成本 TODO ### 外壳成本 三维猴光固化约40RMB ### 门槛要求 #### 工具及其使用技能要求说明 | 星级 | 必要度 | 掌握程度 | | ---- | ---------------------------- | -------- | | ★ | 可有可无,但推荐拥有该样工具 | 初步掌握 | | ★★ | 建议拥有该样工具 | 熟练掌握 | | ★★★ | 必需拥有该样工具 | 非常熟练 | #### 能力要求说明 因目标有所差异,满分五星,各星及含义如下: | 星级 | 掌握程度 | | ---- | ----------------------------- | | ★ | 入门级/业余爱好者级别 | | ★★ | 熟练级/对应岗位初级技术人员 | | ★★★ | 精通级/对应岗位中高级技术人员 | #### 焊接工具和技术要求 如需自行贴片,难度和工具需求如下: | 工具需求 | 工具必要度 | 工具使用掌握程度 | | -------- | ---------------- | --------- | | **恒温**电烙铁 | ★★★ | ★★ | | 加热台 | ★★ | ★★ | | 焊油 | ★★ | ★★ | | 洗板水 | ★★ | ★ | | 万用表 | ★★★ | ★★★ | | 逻辑分析仪 | ★ | ★ | #### 电子方向技术要求 | 目标 | 阅读原理图 | 绘制PCB | PCB制造(立创下单) | 硬件选型 | PCB制造向优化 | | ---- | ------ | --------- | ---- | ---- | ---- | | 复刻出自己的掌机,不做改动 | ★ | ★★ | ★ | - | - | | 修改PCB实现自己的功能 | ★★ |★★ | ★★ | ★★ | - | | 量产 | ★★ | ★★ | - | ★★★ | ★★★ | #### 软件方向技术要求 | 目标 | 烧录工具使用 | linux使用 | shell使用 | C编程 | git版本管理 |uboot |linux 内核 | | ---- | ------ | --------- | ---- | ---- | ---- | ---- | ---- | | 复刻出自己的掌机,不做改动 | ★★ | - | - | - | - |-|-| | 自行编译固件 | ★★ | ★★ | ★ | - | ★★ |-|-| | 自行编译固件且增加或完善功能 | ★★ | ★★ | ★★ | ★★ | ★★ |★★|★★| #### 结构方向技术要求 | 目标 | 外壳制造(三维猴下单) | 绘制零件 | 装配 | 绘制模具 | | ---- | ------ | --------- | ---- | ---- | | 复刻出自己的掌机,不做改动 | ★ | - | - | - | | 修改外观 | ★★ |★★ | - | - | | 量产 | ★★ | ★★ | ★★ | ★★★ | ### 能力提升 完成自己的作品后,参与者的各项能力也将达到上述最低要求,快来一起进步吧。 ## 问题快速指引 待整理(TODO) ### 修改屏幕分辨率 ### 修改屏幕芯片 ### 修改屏幕方向 ### 修改显示帧率 ### 修改单双声道 ### 修改开机图片 ### 修改桌面背景 ## 一些天马行空的写法 ### 还能进行哪些扩展? 考虑IO空闲情况,剩余SPI,IIC和GPIO数量,目前暂未整理(TODO) 外设选型建议:找kernel中已有驱动支持的器件 ### 能不能实现一个收音机 笔者在尝试使用SI4703实现 ### 能不能实现MP4 理论上可行,但全志硬件解码可能有一定难度,并且显示分辨率可能让这个应用显得很鸡肋。 ### 能不能实现电子书 可行,但屏幕尺寸不友好。 ### 能不能升级硬件性能 DIY本身有一些硬件复杂度的限制,太复杂不利于爱好者进行复刻。目前有大佬在做T113版本。T113也是全志的一款内置RAM的双核SOC,性能大大增强,内存扩大一倍。 ## 致谢