嵌入式彩屏单色字体点阵的存储结构设计

oled320_240.j2b.json

json 复制代码
{
  "remark": "彩屏上单色字体图的存储结构",
  "schema": {
    "MagicEnum:u32":{
      "0": "ascii字体图",
      "1": "hanzi字体图",
      "2": "icon图标图"
    },
    "Rgb565Color:u16":{
      "_[15:11] as red": "0;红",
      "_[10:5] as green": "1;绿",
      "_[4:0] as blue": "5;蓝"
    },
    "ZipFontImgUnit:u16;字体图片单元": {
      "_[15:12] as colorInx": "0:bit[4];颜色索引,最大16渐变色",
      "_[11:0] as repeatNum": "0:bit[12];重复次数,做多重复4095次"
    },
    "ZipIconImgUnit;图标图片单元": {
      "color": "0:Rgb565Color:u16;rgb颜色",
      "repeatNum": "0:u16;重复次数"
    },
    "UnZipAsciiHelper;Ascii解压辅助": {
      "startColumn": "0:u16;未压缩的起始列数",
      "zipAddressOffset": "0:u16;压缩后的偏移地址",
      "unZipWidth": "0:u16;未压缩每个元素宽度",
      "zipByteSize": "0:u16;压缩后每个字符byte大小"
    },
    "UnZipHanziHelper;Hanzi解压辅助": {
      "zipAddressOffset": "0:u32;压缩后的偏移地址",
      "zipByteSize": "0:u16;压缩后每个字符byte大小",
      "gbkCode": "0:u16;gbk码,图片根据gbk码升序排列"
    }
  },
  "agreement": [
    "1.暂时在spiFlash紧挨着放3个bin文件",
    "2.unZipHelper偏移地址固定",
    "3.data偏移地址是根据unZipHelper计算出的",
    "4.data的地址=&unZipHelper+sizeof(unZipHelper[0])*unZipHelper.length",
    "5.data占用的字节数=(data.length)*3"
  ],
  "colorTableContent:@0,160;单独生成colorTable.bin文件,预留10种颜色表,开机读一次": {
    "blackYellow": "0:u16[16];黑底黄字",
    "blackBlue": "0:u16[16];黑底蓝字",
    "blueWhite": "0:u16[16];蓝底白字",
    "blackGreen": "0:u16[16];黑底绿字",
    "blackRed": "0:u16[16];黑底红字"
  },
  "ascii24Content@160;单独生成ascii24Wrap.bin文件": {
    "length@0": "0:u32;总字节数",
    "magic@4": "0:MagicEnum:u32;文件类型",
    "fileName@8":"ascii24.bin:str",
    "gmtCreate@24": "0:u32;创建时间",
    "gmtModified@28": "0:u32;修改时间",
    "width@32":       "0:u16;图片宽度",
    "height@34":     "0:u16;图片高度",
    "checkSum@36":    "0:u32;校验和",
    "unZipHelper@40": "0:UnZipAsciiHelper[]",
    "data":            "0:ZipFontImgUnit[]"
  },
  "hanzi24Content@0x00004000;单独生成hanzi24Wrap.bin文件": {
    "length@0": "0:u32;总字节数",
    "magic@4": "0:MagicEnum:u32;文件类型",
    "fileName@8":"hanzi24.bin:str",
    "gmtCreate@24": "0:u32;创建时间",
    "gmtModified@28": "0:u32;修改时间",
    "width@32":       "0:u16;图片宽度",
    "height@34":     "0:u16;图片高度",
    "checkSum@36":    "0:u32;校验和",
    "unZipHelper@40": "0:UnZipHanziHelper[]",
    "data":           "0:ZipFontImgUnit[]"
  }
}
相关推荐
国产芯片设计3 天前
小家电单段码屏项目实战|YL1621 LCD驱动开发与调试心得
驱动开发·stm32·单片机·mcu·51单片机
嵌入式Q3 天前
FreeRTOS源码解析(10)软件定时器
单片机·mcu·freertos
徐怀江6 天前
ModusToolbox for vscode使用小记
ide·vscode·单片机·mcu·infineon
电子科技圈6 天前
XMOS推出适配VS Code编辑器的XTC工具插件
人工智能·mcu·编辑器·视觉检测·音视频·语音识别·视频编解码
说不得明天7 天前
网络管理:AutoarNM部分
c语言·网络·mcu·汽车·autosar
secondyoung7 天前
Arm架构解析:Cortex-R系列架构概览
arm开发·单片机·嵌入式硬件·mcu·arm
小麦嵌入式8 天前
FPGA入门(三):3-8 译码器 仿真波形解读
stm32·单片机·嵌入式硬件·mcu·fpga开发·硬件工程
披着假发的程序唐8 天前
STM32 H743 MPU的配置使用方法
linux·c语言·c++·驱动开发·stm32·单片机·mcu
时光の尘8 天前
【嵌入式大厂面经】·CAN总线常见考点(持续更新中···)
stm32·单片机·mcu·物联网·can·ack
国科安芯9 天前
空间辐射环境下电机伺服系统的抗扰动控制:AS32S601 抗辐射 MCU 在航天机电执行机构中的多场景应用与可靠性评估
单片机·嵌入式硬件·mcu·cocos2d·risc-v