# 开源便携示波笔 **Repository Path**: a-cold-night/Oscilloscope ## Basic Information - **Project Name**: 开源便携示波笔 - **Description**: 开源可二次开发的双通道多功能波形探测硬件及软件平台 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2023-02-17 - **Last Updated**: 2023-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开源便携示波笔 #### 介绍 开源可二次开发的双通道多功能波形探测硬件及软件平台。 #### 硬件结构 1. 本项目由<模拟前端>/<采样处理>/<数据处理>/<数据显示>/<操作交互>五个大部分构成。 2. 采样处理是由MCU内置独立的两组ADC(不小于12bit@4MHz)组成的双通道数据采样转换器。 3. 数据处理由MCU进行对应的采样后数据处理及变换。 4. 数据显示由板载的TFT屏幕进行处理后的数据显示。 5. 操作交互由板载的按键及USB接口进行数据的设置与交互。 6. 板载电池管理系统,可由电池独立供电以便便携与隔离使用。 #### 软件架构 1. 本项目由<操作系统>/<系统工具>/<应用程序>三个大部分构成。 2. 操作系统驻留于MCU的存储器起始区域(含Flash与SRAM),镜像仅能通过烧录器下载至MCU的内部Flash,上电时首先启动操作系统并保持运行,同时也是支持其他程序运行的基础。 3. 系统工具(系统桌面及其他工具)无需驻留在MCU的存储器,以hex文件的格式存在于文件系统中,在上电后由操作系统及用户决定是否加载运行。 4. 应用程序以可执行文件的格式存在于文件系统,在上电后由用户决定是否加载运行。 5. 操作系统开发环境由keil编译开发环境支持。 6. 系统工具开发环境由keil编译开发环境支持。 7. 应用程序开发环境不限,但提供的示例demo由keil编译开发环境支持。 #### 安装教程 1. 本开源项目是基于数据采集硬件的项目,在安装使用软件之前请先确保拥有一个支持运行环境的硬件。 2. 在进行软件安装之前,请先确认硬件参数与所属对应分支的硬件要求描述是否相同,如果不相同则需要对不同的部分在操作系统工程的驱动部分进行修改以确保硬件功能完好。 3. 请先到<操作系统>路径查找所支持的主处理器(MCU)的操作系统工程,在确认晶振、供电、引脚连接信息均无误后下载对应的软件包,将操作系统下载至MCU中并运行。 4. 操作系统运行起来后通过USB连接到PC端,PC将会识别到usb disk连接即可进行文件访问,如果是新硬件将会提示需要格式化,请选择为FAT32(4k扇区)文件系统完成格式化。 5. 顺利识别到盘符并可访问后,请到<系统工具>路径下载操作系统的桌面镜像文件并保存至文件系统的根目录下。 6. 系统桌面镜像文件写入完成后请将硬件断电重启,系统将会开始加载桌面进入图形化模式,系统及运行环境安装完成。 7. 进入桌面后可在桌面浏览当前存储盘中的应用程序,选择对应的应用程序后即可启动运行。 #### 使用说明 1. 不同的硬件适配由操作系统与驱动包完成,应用程序无需考虑硬件差异(除屏幕分辨率外)。 2. 请到<应用程序>路径查找所需要的应用程序,并阅读应用程序的功能说明,如果需要使用则可以直接下载到示波笔的存储盘,并可以通过系统桌面开始执行这个程序。 3. 如果找不到所需要的应用程序或者需要自主开发、二次开发等,请到<开源应用>路径获取应用程序开发模板工程或其他的可供二次开发的应用程序工程进行开发。 4. 自主开发或二次开发的工程请选择输出为hex格式文件,并且不要更改工程的flash和ram设置信息,否则应用程序将不能正常启动运行。 5. 应用程序开发时请注意捕获系统的<终止>信号,在捕获到本信号时请将托管给系统的回调函数取消(再次调用设置回调函数并给入参0x00000000)以及将从系统申请的资源释放,否则可能会引发hardfault。 6. 有关于应用程序开发的其他注意事项请查阅应用程序工程下的说明文档。 #### 注意事项 1. 由于本开源项目定位为经济便携方案,使用的主控大多为MCU(单片机)而并非资源丰富的MPU或CPU,在MCU中程序主要运行在flash而并非ram,所以每一次的应用程序切换都是对flash的一次擦写损耗,如非必要请尽量避免应用程序的切换,例如由应用程序切换至桌面。 2. 在加载完桌面或者应用程序后,断电后再次上电仍然会运行上一次加载的程序而并非回到桌面环境,所以无须担心掉电后的程序丢失而造成的额外flash擦写损耗。 3. 操作系统具备识别hardfault错误中断的能力,当应用程序出现hardfault错误后操作系统将会取消当前的应用程序运行回到桌面环境。 4. 当出现程序闪退回到桌面环境或者基础启动页面时(桌面程序或文件系统损坏),可以通过操作系统工程调试来找到对应的hardfault原因。 5. 操作系统仅能针对应用程序在线程环境下产生的hardfault具有回到桌面的能力,如果是栈溢出、操作系统托管接口或中断内导致产生的hardfault则会重启。 6. 如果需要上电运行桌面,请先按住左方向(或返回)键后再上电,系统即可识别到请求重新加载并进入桌面环境运行。 #### 参与贡献 1. 新建分支 2. 提交代码