name: HT32F523xx Series
manufacturer:
  id: 0x76
  cc: 0x6
variants:
- name: HT32F52331
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x8000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20001000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52331_33QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x8000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20001000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52331_48LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x8000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20001000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52341
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0xfe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52341_33QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0xfe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52341_48LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0xfe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52342
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x10000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52342_33QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x10000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52342_48LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x10000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52342_64LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x10000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52344
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x10000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52344_33QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x10000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52344_46QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x10000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52344_48LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x10000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52344_64LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x10000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52352
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x1fe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20004000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52352_33QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x1fe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20004000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52352_48LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x1fe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20004000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52352_64LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x1fe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20004000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52354
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x1fe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52354_33QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x1fe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52354_46QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x1fe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52354_48LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x1fe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52354_64LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x1fe00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20002000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52357
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x20000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20004000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52357_46QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x20000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20004000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52357_48LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x20000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20004000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52357_64LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x20000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20004000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52357_80LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x20000
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20004000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52367
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x3fc00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20008000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52367_46QFN
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x3fc00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20008000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52367_48LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x3fc00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20008000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52367_64LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x3fc00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20008000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
- name: HT32F52367_80LQFP
  cores:
  - name: main
    type: armv6m
    core_access_options: !Arm
      ap: !v1 0
  memory_map:
  - !Nvm
    range:
      start: 0x0
      end: 0x3fc00
    cores:
    - main
    access:
      boot: true
  - !Ram
    range:
      start: 0x20000000
      end: 0x20008000
    cores:
    - main
  flash_algorithms:
  - ht32f
  - ht32f_opt
flash_algorithms:
- name: ht32f_opt
  description: HT32 Series Flash Options
  default: true
  instructions: RUkBIAhgRUkDIAhgREgeIUFhgWFESUNISUTIYD9IgDCAaEhgCGAAIHBHPUgMIQFhACHBYAhGcEc7SEhEwWg4SAFgCiHBYBQhAWEA4AC/AWnJBgkPDin50YFpNEoRQgPQHiGBYQEgcEcAIHBHLkpKRFFoSR6IQ5FoiEIB0QAgcEcTaNFoyRiBQgHYASBwRyRJCGAII8tgFCMLYZBgAOAAvwhpwAYADw4o+dGIaR9KEEDs0B4giGHo53C1G0vJHEtEiQiACN1oiQCAABtoRBjrGCQfnEIB0wEgcL0RSwQk3GAUJRJOE+AYYBRoXGAdYQDgAL8caeQGJA8OLPnRnGk0QgLQHiCYYebnAB0JHxIdACnp0QAgcL0AAACDCEAAAQhAAAAIQAAA8B8IAAAAHgACAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAA==
  pc_init: 0x1
  pc_uninit: 0x2b
  pc_program_page: 0xb9
  pc_erase_sector: 0x6d
  pc_erase_all: 0x39
  data_section_offset: 0x130
  flash_properties:
    address_range:
      start: 0x1ff00000
      end: 0x1ff01000
    page_size: 0x200
    erased_byte_value: 0xff
    program_page_timeout: 100
    erase_sector_timeout: 500
    sectors:
    - size: 0x200
      address: 0x0
  cores:
  - main
- name: ht32f
  description: HT32 Series Flash
  default: true
  instructions: SUkBIAhgSUkDIAhgHiDJAkhhiGFFSYAxCGhFSoMYRUoAIEpE0GCIaAArUGBJaADRSR5BQwAgEWBwRz9IDCEBYQAhwWAIRnBHOkhIRMFoOkgBYAohwWAUIQFhAOAAvwFpyQYJDw4p+dGBaTRKEUID0B4hgWEBIHBHACBwRy1KSkRRaEkeiEORaIhCAdEAIHBHE2jRaMkYgUIB2AEgcEcmSQhgCCPLYBQjC2GQYADgAL8IacAGAA8OKPnRiGkfShBA7NAeIIhh6OdwtRpLyRxLRIkIgAjdaIkAgAAbaEQY6xgkH5xCAdMBIHC9E0sEJNxgFCUSThPgGGAUaFxgHWEA4AC/HGnkBiQPDiz50ZxpNEIC0B4gmGHm5wAdCR8SHQAp6dEAIHC9AAAAgwhAAAEIQK7qifwIAAAAAAAIQB4AAgAAAAAAAAAAAAAAAAAAAAAA/////wAAAAA=
  pc_init: 0x1
  pc_uninit: 0x3b
  pc_program_page: 0xc9
  pc_erase_sector: 0x7d
  pc_erase_all: 0x49
  data_section_offset: 0x140
  flash_properties:
    address_range:
      start: 0x0
      end: 0x100000
    page_size: 0x200
    erased_byte_value: 0xff
    program_page_timeout: 100
    erase_sector_timeout: 500
    sectors:
    - size: 0x200
      address: 0x0
  cores:
  - main
