基本需求: 文件浏览 图片查看 音频播放(可以在“后台”运行) 4个按键、电源及电量显示 技术需求: sd卡驱动 LCD驱动(SPI接口) DMA使用(DAC、SDIO、LCD等地方) fatfs文件系统,支持长文件名 字库,启动图标等裸数据 操作系统(rtx),任务通信、同步 简单的位图缩放 MP3解码库使用(helix解码库) 还能看的UI 系统构想: MP3播放“后台”: MP3播放task的优先级较高,但被阻塞; 用双缓冲储存输出数据,DMA搬完某个缓冲区后的中断中,使MP3的task就绪,同时输出下一个缓冲区 UI界面的支持: 用“栈”,并且精简数据结构 字库等裸数据: 事先烧进flash靠后的地方,用的时候用指针找到,否则每次调试都要花很长时间烧程序。(2500个16x16像素常用字大概占80k,一幅128x160的图片大概2.5k) 芯片选型: STM32F103RCT6,256k的flash,64k的RAM 驱动为ST7735s的128x160像素的串口LCD屏幕