├── .gitignore
├── .gitlab-ci.yml
├── .gitmodules
├── .vscode
├── extensions.json
└── tasks.json
├── README.md
├── Release_Notes.md
├── bootloader
└── boot_ram
│ └── le501x
│ ├── SConstruct
│ ├── app_config.h
│ ├── boot_ram_le501x.c
│ ├── bram_le501x.ld
│ └── launch.json.txt
├── examples
├── ble
│ ├── ble_advertiser
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_advertiser.ewd
│ │ │ │ ├── ble_advertiser.ewp
│ │ │ │ └── ble_advertiser.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_advertiser.uvoptx
│ │ │ │ └── ble_advertiser.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_ancs
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_ancs.ewd
│ │ │ │ ├── ble_ancs.ewp
│ │ │ │ └── ble_ancs.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_ancs.uvoptx
│ │ │ │ └── ble_ancs.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_at_proj
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_at_proj.ewd
│ │ │ │ ├── ble_at_proj.ewp
│ │ │ │ └── ble_at_proj.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_at_proj.uvoptx
│ │ │ │ └── ble_at_proj.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── at_cmd_parse.c
│ │ ├── at_cmd_parse.h
│ │ ├── at_recv_cmd.c
│ │ ├── at_recv_cmd.h
│ │ ├── launch.json.txt
│ │ ├── main.c
│ │ └── main.h
│ ├── ble_dis
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_dis.ewd
│ │ │ │ ├── ble_dis.ewp
│ │ │ │ └── ble_dis.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_dis.uvoptx
│ │ │ │ └── ble_dis.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_dis_freertos
│ │ ├── FreeRTOSConfig.h
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_dis_freertos.ewd
│ │ │ │ ├── ble_dis_freertos.ewp
│ │ │ │ └── ble_dis_freertos.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_dis_freertos.uvoptx
│ │ │ │ └── ble_dis_freertos.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_fota_server
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_fota_server.ewd
│ │ │ │ ├── ble_fota_server.ewp
│ │ │ │ └── ble_fota_server.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_fota_server.uvoptx
│ │ │ │ └── ble_fota_server.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── fota_svc_server.c
│ │ ├── fota_svc_server.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_hid
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_hid.ewd
│ │ │ │ ├── ble_hid.ewp
│ │ │ │ └── ble_hid.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_hid.uvoptx
│ │ │ │ └── ble_hid.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── main.c
│ │ └── main.h
│ ├── ble_hid_dmic
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_hid_dmic.ewd
│ │ │ │ ├── ble_hid_dmic.ewp
│ │ │ │ └── ble_hid_dmic.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_hid_dmic.uvoptx
│ │ │ │ └── ble_hid_dmic.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── main.c
│ │ └── main.h
│ ├── ble_mult_roles
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_mult_roles.ewd
│ │ │ │ ├── ble_mult_roles.ewp
│ │ │ │ └── ble_mult_roles.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_mult_roles.uvoptx
│ │ │ │ └── ble_mult_roles.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_mult_services
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_mult_services.ewd
│ │ │ │ ├── ble_mult_services.ewp
│ │ │ │ └── ble_mult_services.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_mult_services.uvoptx
│ │ │ │ └── ble_mult_services.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_pairing_master_role
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_pairing_master_role.ewd
│ │ │ │ ├── ble_pairing_master_role.ewp
│ │ │ │ └── ble_pairing_master_role.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_pairing_master_role.uvoptx
│ │ │ │ └── ble_pairing_master_role.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_pairing_slave_role
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_pairing_slave_role.ewd
│ │ │ │ ├── ble_pairing_slave_role.ewp
│ │ │ │ └── ble_pairing_slave_role.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_pairing_slave_role.uvoptx
│ │ │ │ └── ble_pairing_slave_role.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_single_master
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_single_master.ewd
│ │ │ │ ├── ble_single_master.ewp
│ │ │ │ └── ble_single_master.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_single_master.uvoptx
│ │ │ │ └── ble_single_master.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_single_role
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_single_role.ewd
│ │ │ │ ├── ble_single_role.ewp
│ │ │ │ └── ble_single_role.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_single_role.uvoptx
│ │ │ │ └── ble_single_role.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_uart_server
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_uart_server.ewd
│ │ │ │ ├── ble_uart_server.ewp
│ │ │ │ └── ble_uart_server.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_uart_server.uvoptx
│ │ │ │ └── ble_uart_server.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── ble_uart_server_mult_link
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ble_uart_server_mult_link.ewd
│ │ │ │ ├── ble_uart_server_mult_link.ewp
│ │ │ │ └── ble_uart_server_mult_link.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ble_uart_server_mult_link.uvoptx
│ │ │ │ └── ble_uart_server_mult_link.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── fota
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── fota.ewd
│ │ │ │ ├── fota.ewp
│ │ │ │ └── fota.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── fota.uvoptx
│ │ │ │ └── fota.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── compiler
│ │ │ ├── armcc
│ │ │ │ └── single_bank_fota_link.txt
│ │ │ ├── gnu
│ │ │ │ └── single_bank_fota_link.txt
│ │ │ └── iar
│ │ │ │ └── single_bank_fota_link.txt
│ │ ├── launch.json.txt
│ │ ├── main.c
│ │ └── pub_key.c
│ └── host_test
│ │ ├── Project
│ │ ├── IAR
│ │ │ ├── host_test.ewd
│ │ │ ├── host_test.ewp
│ │ │ └── host_test.eww
│ │ └── uvision5
│ │ │ ├── JLinkSettings.jlinkscript
│ │ │ ├── host_test.uvoptx
│ │ │ └── host_test.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
├── mesh
│ ├── genie_mesh
│ │ ├── genie_files
│ │ │ ├── ali_dfu_port.c
│ │ │ ├── ali_dfu_port.h
│ │ │ ├── genie_crc16.c
│ │ │ ├── genie_crc16.h
│ │ │ ├── genie_crypto.c
│ │ │ ├── genie_crypto.h
│ │ │ ├── genie_time_v2.c
│ │ │ ├── genie_time_v2.h
│ │ │ ├── genie_triple.c
│ │ │ ├── genie_triple.h
│ │ │ ├── slist.h
│ │ │ ├── tmall_genie_ais.c
│ │ │ ├── tmall_genie_ais.h
│ │ │ ├── tmall_genie_ais_main_handle.c
│ │ │ ├── tmall_genie_ais_main_handle.h
│ │ │ ├── tmall_genie_log.c
│ │ │ ├── tmall_genie_log.h
│ │ │ ├── tmall_genie_ota.c
│ │ │ ├── tmall_genie_ota.h
│ │ │ ├── tmall_genie_triple_handle.c
│ │ │ └── tmall_genie_triple_handle.h
│ │ ├── tmall_mesh_gatt
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── tmall_mesh_gatt.ewd
│ │ │ │ │ ├── tmall_mesh_gatt.ewp
│ │ │ │ │ └── tmall_mesh_gatt.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── tmall_mesh_gatt.uvoptx
│ │ │ │ │ └── tmall_mesh_gatt.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── main.c
│ │ │ ├── tmall_ais_cfg.h
│ │ │ ├── tmall_curtain_cfg.c
│ │ │ ├── tmall_curtain_cfg.h
│ │ │ ├── tmall_light_cfg.c
│ │ │ ├── tmall_light_cfg.h
│ │ │ ├── tmall_mesh_ctl.c
│ │ │ └── tmall_mesh_ctl.h
│ │ ├── tmall_mesh_gatt_glp
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── tmall_mesh_gatt_glp.ewd
│ │ │ │ │ ├── tmall_mesh_gatt_glp.ewp
│ │ │ │ │ └── tmall_mesh_gatt_glp.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── tmall_mesh_gatt_glp.uvoptx
│ │ │ │ │ └── tmall_mesh_gatt_glp.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── main.c
│ │ │ ├── tmall_ais_cfg.h
│ │ │ ├── tmall_curtain_cfg.c
│ │ │ ├── tmall_curtain_cfg.h
│ │ │ ├── tmall_light_cfg.c
│ │ │ ├── tmall_light_cfg.h
│ │ │ ├── tmall_mesh_ctl.c
│ │ │ └── tmall_mesh_ctl.h
│ │ └── tmall_mesh_gatt_ls_ota
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── tmall_mesh_gatt_ls_ota.ewd
│ │ │ │ ├── tmall_mesh_gatt_ls_ota.ewp
│ │ │ │ └── tmall_mesh_gatt_ls_ota.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── tmall_mesh_gatt_ls_ota.uvoptx
│ │ │ │ └── tmall_mesh_gatt_ls_ota.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── main.c
│ │ │ ├── tmall_ais_cfg.h
│ │ │ ├── tmall_curtain_cfg.c
│ │ │ ├── tmall_curtain_cfg.h
│ │ │ ├── tmall_light_cfg.c
│ │ │ ├── tmall_light_cfg.h
│ │ │ ├── tmall_mesh_ctl.c
│ │ │ └── tmall_mesh_ctl.h
│ ├── ls_mesh
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ls_mesh.ewd
│ │ │ │ ├── ls_mesh.ewp
│ │ │ │ └── ls_mesh.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ls_mesh.uvoptx
│ │ │ │ └── ls_mesh.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── ls_mesh_light_cfg.c
│ │ ├── ls_mesh_light_cfg.h
│ │ └── main.c
│ └── sig_mesh
│ │ ├── sig_mesh_provee
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── sig_mesh_provee.ewd
│ │ │ │ ├── sig_mesh_provee.ewp
│ │ │ │ └── sig_mesh_provee.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── sig_mesh_provee.uvoptx
│ │ │ │ └── sig_mesh_provee.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── main.c
│ │ ├── sig_light_cfg.c
│ │ ├── sig_light_cfg.h
│ │ ├── sig_mesh_ctl.c
│ │ ├── sig_mesh_ctl.h
│ │ ├── sig_mesh_vendor_event.c
│ │ └── sig_mesh_vendor_event.h
│ │ ├── sig_mesh_provee_alexa
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── sig_mesh_provee_alexa.ewd
│ │ │ │ ├── sig_mesh_provee_alexa.ewp
│ │ │ │ └── sig_mesh_provee_alexa.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── sig_mesh_provee_alexa.uvoptx
│ │ │ │ └── sig_mesh_provee_alexa.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── main.c
│ │ ├── sig_light_cfg.c
│ │ ├── sig_light_cfg.h
│ │ ├── sig_mesh_ctl.c
│ │ └── sig_mesh_ctl.h
│ │ ├── sig_mesh_provee_auto_prov
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── sig_mesh_provee_auto_prov.ewd
│ │ │ │ ├── sig_mesh_provee_auto_prov.ewp
│ │ │ │ └── sig_mesh_provee_auto_prov.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── sig_mesh_provee_auto_prov.uvoptx
│ │ │ │ └── sig_mesh_provee_auto_prov.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── main.c
│ │ ├── sig_mesh_ctl.c
│ │ ├── sig_mesh_ctl.h
│ │ ├── sig_mesh_vendor_event.c
│ │ └── sig_mesh_vendor_event.h
│ │ └── sig_mesh_provisioner
│ │ ├── Project
│ │ ├── IAR
│ │ │ ├── sig_mesh_provisioner.ewd
│ │ │ ├── sig_mesh_provisioner.ewp
│ │ │ └── sig_mesh_provisioner.eww
│ │ └── uvision5
│ │ │ ├── JLinkSettings.jlinkscript
│ │ │ ├── sig_mesh_provisioner.uvoptx
│ │ │ └── sig_mesh_provisioner.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── at_sig_mesh_prover_cmd_ind.c
│ │ ├── at_sig_mesh_prover_cmd_ind.h
│ │ ├── at_sig_mesh_prover_cmd_parse.c
│ │ ├── at_sig_mesh_prover_cmd_parse.h
│ │ ├── at_sig_mesh_prover_recv_cmd.c
│ │ ├── at_sig_mesh_prover_recv_cmd.h
│ │ ├── launch.json.txt
│ │ ├── main.c
│ │ └── sig_mesh_prover_ctl.h
├── peripheral
│ ├── I2S
│ │ ├── i2s_dma_master
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── i2s_dma_master.ewd
│ │ │ │ │ ├── i2s_dma_master.ewp
│ │ │ │ │ └── i2s_dma_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── i2s_dma_master.uvoptx
│ │ │ │ │ └── i2s_dma_master.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── i2s_dma_master.ewd
│ │ │ │ │ ├── i2s_dma_master.ewp
│ │ │ │ │ └── i2s_dma_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── i2s_dma_master.uvoptx
│ │ │ │ │ └── i2s_dma_master.uvprojx
│ │ │ └── main.c
│ │ ├── i2s_dma_slave
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── i2s_dma_slave.ewd
│ │ │ │ │ ├── i2s_dma_slave.ewp
│ │ │ │ │ └── i2s_dma_slave.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── i2s_dma_slave.uvoptx
│ │ │ │ │ └── i2s_dma_slave.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── i2s_dma_slave.ewd
│ │ │ │ │ ├── i2s_dma_slave.ewp
│ │ │ │ │ └── i2s_dma_slave.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── i2s_dma_slave.uvoptx
│ │ │ │ │ └── i2s_dma_slave.uvprojx
│ │ │ └── main.c
│ │ ├── i2s_it_master
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── i2s_it_master.ewd
│ │ │ │ │ ├── i2s_it_master.ewp
│ │ │ │ │ └── i2s_it_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── i2s_it_master.uvoptx
│ │ │ │ │ └── i2s_it_master.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── i2s_it_master.ewd
│ │ │ │ │ ├── i2s_it_master.ewp
│ │ │ │ │ └── i2s_it_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── i2s_it_master.uvoptx
│ │ │ │ │ └── i2s_it_master.uvprojx
│ │ │ └── main.c
│ │ ├── i2s_it_slave
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── i2s_it_slave.ewd
│ │ │ │ │ ├── i2s_it_slave.ewp
│ │ │ │ │ └── i2s_it_slave.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── i2s_it_slave.uvoptx
│ │ │ │ │ └── i2s_it_slave.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── i2s_it_slave.ewd
│ │ │ │ │ ├── i2s_it_slave.ewp
│ │ │ │ │ └── i2s_it_slave.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── i2s_it_slave.uvoptx
│ │ │ │ │ └── i2s_it_slave.uvprojx
│ │ │ └── main.c
│ │ ├── i2s_polling_master
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── i2s_polling_master.ewd
│ │ │ │ │ ├── i2s_polling_master.ewp
│ │ │ │ │ └── i2s_polling_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── i2s_polling_master.uvoptx
│ │ │ │ │ └── i2s_polling_master.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── i2s_polling_master.ewd
│ │ │ │ │ ├── i2s_polling_master.ewp
│ │ │ │ │ └── i2s_polling_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── i2s_polling_master.uvoptx
│ │ │ │ │ └── i2s_polling_master.uvprojx
│ │ │ └── main.c
│ │ └── i2s_polling_slave
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── i2s_polling_slave.ewd
│ │ │ │ ├── i2s_polling_slave.ewp
│ │ │ │ └── i2s_polling_slave.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── i2s_polling_slave.uvoptx
│ │ │ │ └── i2s_polling_slave.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── i2s_polling_slave.ewd
│ │ │ │ ├── i2s_polling_slave.ewp
│ │ │ │ └── i2s_polling_slave.eww
│ │ │ └── uvision5
│ │ │ │ ├── i2s_polling_slave.uvoptx
│ │ │ │ └── i2s_polling_slave.uvprojx
│ │ │ └── main.c
│ ├── IAP
│ │ ├── iap_application
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── iap_application.ewd
│ │ │ │ │ ├── iap_application.ewp
│ │ │ │ │ └── iap_application.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── iap_application.uvoptx
│ │ │ │ │ └── iap_application.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── compiler
│ │ │ │ ├── armcc
│ │ │ │ │ ├── le501x_mcu_link.txt
│ │ │ │ │ └── lm3050_mcu_link.txt
│ │ │ │ ├── gnu
│ │ │ │ │ ├── le501x_mcu_link.txt
│ │ │ │ │ └── lm3050_mcu_link.txt
│ │ │ │ └── iar
│ │ │ │ │ ├── le501x_mcu_link.txt
│ │ │ │ │ └── lm3050_mcu_link.txt
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── iap_application.ewd
│ │ │ │ │ ├── iap_application.ewp
│ │ │ │ │ └── iap_application.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── iap_application.uvoptx
│ │ │ │ │ └── iap_application.uvprojx
│ │ │ ├── main.c
│ │ │ └── user_info_config.c
│ │ └── iap_bootloader
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── iap_bootloader.ewd
│ │ │ │ ├── iap_bootloader.ewp
│ │ │ │ └── iap_bootloader.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── iap_bootloader.uvoptx
│ │ │ │ └── iap_bootloader.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── compiler
│ │ │ ├── armcc
│ │ │ │ ├── le501x_mcu_link.txt
│ │ │ │ └── lm3050_mcu_link.txt
│ │ │ ├── gnu
│ │ │ │ ├── le501x_mcu_link.txt
│ │ │ │ └── lm3050_mcu_link.txt
│ │ │ └── iar
│ │ │ │ ├── le501x_mcu_link.txt
│ │ │ │ └── lm3050_mcu_link.txt
│ │ │ ├── iap_sha256.c
│ │ │ ├── iap_sha256.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── iap_bootloader.ewd
│ │ │ │ ├── iap_bootloader.ewp
│ │ │ │ └── iap_bootloader.eww
│ │ │ └── uvision5
│ │ │ │ ├── iap_bootloader.uvoptx
│ │ │ │ └── iap_bootloader.uvprojx
│ │ │ ├── main.c
│ │ │ ├── uart_process.c
│ │ │ ├── uart_process.h
│ │ │ ├── upgrade_process.c
│ │ │ └── upgrade_process.h
│ ├── PDM
│ │ ├── pdm_it
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── pdm_it.ewd
│ │ │ │ │ ├── pdm_it.ewp
│ │ │ │ │ └── pdm_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── pdm_it.uvoptx
│ │ │ │ │ └── pdm_it.uvprojx
│ │ │ ├── main.c
│ │ │ └── project
│ │ │ │ ├── iar
│ │ │ │ ├── pdm_it.ewd
│ │ │ │ ├── pdm_it.ewp
│ │ │ │ └── pdm_it.eww
│ │ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── pdm_it.uvoptx
│ │ │ │ └── pdm_it.uvprojx
│ │ └── pdm_pingpong_dma
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── main.c
│ │ │ └── project
│ │ │ ├── iar
│ │ │ ├── pdm_pingpong_dma.ewd
│ │ │ ├── pdm_pingpong_dma.ewp
│ │ │ └── pdm_pingpong_dma.eww
│ │ │ └── uvision5
│ │ │ ├── JLinkSettings.jlinkscript
│ │ │ ├── pdm_pingpong_dma.uvoptx
│ │ │ └── pdm_pingpong_dma.uvprojx
│ ├── TRNG
│ │ ├── trng_it
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── trng_it.ewd
│ │ │ │ │ ├── trng_it.ewp
│ │ │ │ │ └── trng_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── trng_it.uvoptx
│ │ │ │ │ └── trng_it.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── trng_it.ewd
│ │ │ │ │ ├── trng_it.ewp
│ │ │ │ │ └── trng_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── trng_it.uvoptx
│ │ │ │ │ └── trng_it.uvprojx
│ │ │ └── main.c
│ │ └── trng_polling
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── trng_polling.ewd
│ │ │ │ ├── trng_polling.ewp
│ │ │ │ └── trng_polling.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── trng_polling.uvoptx
│ │ │ │ └── trng_polling.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── trng_polling.ewd
│ │ │ │ ├── trng_polling.ewp
│ │ │ │ └── trng_polling.eww
│ │ │ └── uvision5
│ │ │ │ ├── trng_polling.uvoptx
│ │ │ │ └── trng_polling.uvprojx
│ │ │ └── main.c
│ ├── WDG
│ │ ├── iwdg
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── iwdg.ewd
│ │ │ │ │ ├── iwdg.ewp
│ │ │ │ │ └── iwdg.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── iwdg.uvoptx
│ │ │ │ │ └── iwdg.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── iwdg.ewd
│ │ │ │ │ ├── iwdg.ewp
│ │ │ │ │ └── iwdg.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── iwdg.uvoptx
│ │ │ │ │ └── iwdg.uvprojx
│ │ │ └── main.c
│ │ └── wwdg
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── wwdg.ewd
│ │ │ │ ├── wwdg.ewp
│ │ │ │ └── wwdg.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── wwdg.uvoptx
│ │ │ │ └── wwdg.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── wwdg.ewd
│ │ │ │ ├── wwdg.ewp
│ │ │ │ └── wwdg.eww
│ │ │ └── uvision5
│ │ │ │ ├── wwdg.uvoptx
│ │ │ │ └── wwdg.uvprojx
│ │ │ └── main.c
│ ├── adc
│ │ ├── adc_amic_sampling
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── adc_amic_sampling.ewd
│ │ │ │ │ ├── adc_amic_sampling.ewp
│ │ │ │ │ └── adc_amic_sampling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── adc_amic_sampling.uvoptx
│ │ │ │ │ └── adc_amic_sampling.uvprojx
│ │ │ ├── README.md
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ └── main.c
│ │ ├── adc_analog_wdg
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── adc_analog_wdg.ewd
│ │ │ │ │ ├── adc_analog_wdg.ewp
│ │ │ │ │ └── adc_analog_wdg.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── adc_analog_wdg.uvoptx
│ │ │ │ │ └── adc_analog_wdg.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ └── main.c
│ │ ├── adc_blocking_sampling
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── adc_blocking_sampling.ewd
│ │ │ │ │ ├── adc_blocking_sampling.ewp
│ │ │ │ │ └── adc_blocking_sampling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── adc_blocking_sampling.uvoptx
│ │ │ │ │ └── adc_blocking_sampling.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ └── main.c
│ │ ├── adc_multi_channel
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── adc_multi_channel.ewd
│ │ │ │ │ ├── adc_multi_channel.ewp
│ │ │ │ │ └── adc_multi_channel.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── adc_multi_channel.uvoptx
│ │ │ │ │ └── adc_multi_channel.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ └── main.c
│ │ ├── adc_multi_channel_dma
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── adc_multi_channel_dma.ewd
│ │ │ │ │ ├── adc_multi_channel_dma.ewp
│ │ │ │ │ └── adc_multi_channel_dma.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── adc_multi_channel_dma.uvoptx
│ │ │ │ │ └── adc_multi_channel_dma.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ └── main.c
│ │ └── adc_single_channel
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── adc_single_channel.ewd
│ │ │ │ ├── adc_single_channel.ewp
│ │ │ │ └── adc_single_channel.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── adc_single_channel.uvoptx
│ │ │ │ └── adc_single_channel.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ └── main.c
│ ├── crypt
│ │ ├── des_ecb_cbc_it
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── des_ecb_cbc_it.ewd
│ │ │ │ │ ├── des_ecb_cbc_it.ewp
│ │ │ │ │ └── des_ecb_cbc_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── des_ecb_cbc_it.uvoptx
│ │ │ │ │ └── des_ecb_cbc_it.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── des_ecb_cbc_it.ewd
│ │ │ │ │ ├── des_ecb_cbc_it.ewp
│ │ │ │ │ └── des_ecb_cbc_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── des_ecb_cbc_it.uvoptx
│ │ │ │ │ └── des_ecb_cbc_it.uvprojx
│ │ │ └── main.c
│ │ ├── des_ecb_cbc_polling
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── des_ecb_cbc_polling.ewd
│ │ │ │ │ ├── des_ecb_cbc_polling.ewp
│ │ │ │ │ └── des_ecb_cbc_polling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── des_ecb_cbc_polling.uvoptx
│ │ │ │ │ └── des_ecb_cbc_polling.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── des_ecb_cbc_polling.ewd
│ │ │ │ │ ├── des_ecb_cbc_polling.ewp
│ │ │ │ │ └── des_ecb_cbc_polling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── des_ecb_cbc_polling.uvoptx
│ │ │ │ │ └── des_ecb_cbc_polling.uvprojx
│ │ │ └── main.c
│ │ ├── des_it_padding
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── des_it_padding.ewd
│ │ │ │ │ ├── des_it_padding.ewp
│ │ │ │ │ └── des_it_padding.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── des_it_padding.uvoptx
│ │ │ │ │ └── des_it_padding.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── des_it_padding.ewd
│ │ │ │ │ ├── des_it_padding.ewp
│ │ │ │ │ └── des_it_padding.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── des_it_padding.uvoptx
│ │ │ │ │ └── des_it_padding.uvprojx
│ │ │ └── main.c
│ │ ├── ecb_cbc_it
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── ecb_cbc_it.ewd
│ │ │ │ │ ├── ecb_cbc_it.ewp
│ │ │ │ │ └── ecb_cbc_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── ecb_cbc_it.uvoptx
│ │ │ │ │ └── ecb_cbc_it.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── ecb_cbc_it.ewd
│ │ │ │ │ ├── ecb_cbc_it.ewp
│ │ │ │ │ └── ecb_cbc_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── ecb_cbc_it.uvoptx
│ │ │ │ │ └── ecb_cbc_it.uvprojx
│ │ │ └── main.c
│ │ ├── ecb_cbc_polling
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── ecb_cbc_polling.ewd
│ │ │ │ │ ├── ecb_cbc_polling.ewp
│ │ │ │ │ └── ecb_cbc_polling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── ecb_cbc_polling.uvoptx
│ │ │ │ │ └── ecb_cbc_polling.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── ecb_cbc_polling.ewd
│ │ │ │ │ ├── ecb_cbc_polling.ewp
│ │ │ │ │ └── ecb_cbc_polling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── ecb_cbc_polling.uvoptx
│ │ │ │ │ └── ecb_cbc_polling.uvprojx
│ │ │ └── main.c
│ │ └── ecb_it_padding
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ecb_it_padding.ewd
│ │ │ │ ├── ecb_it_padding.ewp
│ │ │ │ └── ecb_it_padding.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ecb_it_padding.uvoptx
│ │ │ │ └── ecb_it_padding.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── ecb_it_padding.ewd
│ │ │ │ ├── ecb_it_padding.ewp
│ │ │ │ └── ecb_it_padding.eww
│ │ │ └── uvision5
│ │ │ │ ├── ecb_it_padding.uvoptx
│ │ │ │ └── ecb_it_padding.uvprojx
│ │ │ └── main.c
│ ├── gpio
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── gpio.ewd
│ │ │ │ ├── gpio.ewp
│ │ │ │ └── gpio.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── gpio.uvoptx
│ │ │ │ └── gpio.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── gpio.ewd
│ │ │ │ ├── gpio.ewp
│ │ │ │ └── gpio.eww
│ │ │ └── uvision5
│ │ │ │ ├── gpio.uvoptx
│ │ │ │ └── gpio.uvprojx
│ │ └── main.c
│ ├── i2c
│ │ ├── i2c_dma
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── i2c_dma.ewd
│ │ │ │ │ ├── i2c_dma.ewp
│ │ │ │ │ └── i2c_dma.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── i2c_dma.uvoptx
│ │ │ │ │ └── i2c_dma.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── i2c_dma.ewd
│ │ │ │ │ ├── i2c_dma.ewp
│ │ │ │ │ └── i2c_dma.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── i2c_dma.uvoptx
│ │ │ │ │ └── i2c_dma.uvprojx
│ │ │ └── main.c
│ │ ├── i2c_it
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── i2c_it.ewd
│ │ │ │ │ ├── i2c_it.ewp
│ │ │ │ │ └── i2c_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── i2c_it.uvoptx
│ │ │ │ │ └── i2c_it.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── i2c_it.ewd
│ │ │ │ │ ├── i2c_it.ewp
│ │ │ │ │ └── i2c_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── i2c_it.uvoptx
│ │ │ │ │ └── i2c_it.uvprojx
│ │ │ └── main.c
│ │ ├── i2c_polling
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── i2c_polling.ewd
│ │ │ │ │ ├── i2c_polling.ewp
│ │ │ │ │ └── i2c_polling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── i2c_polling.uvoptx
│ │ │ │ │ └── i2c_polling.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── i2c_polling.ewd
│ │ │ │ │ ├── i2c_polling.ewp
│ │ │ │ │ └── i2c_polling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── i2c_polling.uvoptx
│ │ │ │ │ └── i2c_polling.uvprojx
│ │ │ └── main.c
│ │ ├── ll_i2c_it
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── ll_i2c_it.ewd
│ │ │ │ │ ├── ll_i2c_it.ewp
│ │ │ │ │ └── ll_i2c_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── ll_i2c_it.uvoptx
│ │ │ │ │ └── ll_i2c_it.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── ll_i2c_handler.c
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── ll_i2c_it.ewd
│ │ │ │ │ ├── ll_i2c_it.ewp
│ │ │ │ │ └── ll_i2c_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── ll_i2c_it.uvoptx
│ │ │ │ │ └── ll_i2c_it.uvprojx
│ │ │ └── main.c
│ │ └── ll_i2c_polling
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ll_i2c_polling.ewd
│ │ │ │ ├── ll_i2c_polling.ewp
│ │ │ │ └── ll_i2c_polling.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ll_i2c_polling.uvoptx
│ │ │ │ └── ll_i2c_polling.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── ll_i2c_polling.ewd
│ │ │ │ ├── ll_i2c_polling.ewp
│ │ │ │ └── ll_i2c_polling.eww
│ │ │ └── uvision5
│ │ │ │ ├── ll_i2c_polling.uvoptx
│ │ │ │ └── ll_i2c_polling.uvprojx
│ │ │ └── main.c
│ ├── rtc
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── rtc.ewd
│ │ │ │ ├── rtc.ewp
│ │ │ │ └── rtc.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── rtc.uvoptx
│ │ │ │ └── rtc.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ └── main.c
│ ├── software_calendar
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── software_calendar.ewd
│ │ │ │ ├── software_calendar.ewp
│ │ │ │ └── software_calendar.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── software_calendar.uvoptx
│ │ │ │ └── software_calendar.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── software_calendar.ewd
│ │ │ │ ├── software_calendar.ewp
│ │ │ │ └── software_calendar.eww
│ │ │ └── uvision5
│ │ │ │ ├── software_calendar.uvoptx
│ │ │ │ └── software_calendar.uvprojx
│ │ └── main.c
│ ├── software_timers
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── software_timers.ewd
│ │ │ │ ├── software_timers.ewp
│ │ │ │ └── software_timers.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── software_timers.uvoptx
│ │ │ │ └── software_timers.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── software_timers.ewd
│ │ │ │ ├── software_timers.ewp
│ │ │ │ └── software_timers.eww
│ │ │ └── uvision5
│ │ │ │ ├── software_timers.uvoptx
│ │ │ │ └── software_timers.uvprojx
│ │ └── main.c
│ ├── spi
│ │ ├── ll_spi_it
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── ll_spi_it.ewd
│ │ │ │ │ ├── ll_spi_it.ewp
│ │ │ │ │ └── ll_spi_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── ll_spi_it.uvoptx
│ │ │ │ │ └── ll_spi_it.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── ll_spi_handler.c
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── ll_spi_it.ewd
│ │ │ │ │ ├── ll_spi_it.ewp
│ │ │ │ │ └── ll_spi_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── ll_spi_it.uvoptx
│ │ │ │ │ └── ll_spi_it.uvprojx
│ │ │ └── main.c
│ │ ├── ll_spi_polling
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── ll_spi_polling.ewd
│ │ │ │ │ ├── ll_spi_polling.ewp
│ │ │ │ │ └── ll_spi_polling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── ll_spi_polling.uvoptx
│ │ │ │ │ └── ll_spi_polling.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── ll_spi_polling.ewd
│ │ │ │ │ ├── ll_spi_polling.ewp
│ │ │ │ │ └── ll_spi_polling.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── ll_spi_polling.uvoptx
│ │ │ │ │ └── ll_spi_polling.uvprojx
│ │ │ └── main.c
│ │ ├── spi_dma_master
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── spi_dma_master.ewd
│ │ │ │ │ ├── spi_dma_master.ewp
│ │ │ │ │ └── spi_dma_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── spi_dma_master.uvoptx
│ │ │ │ │ └── spi_dma_master.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── spi_dma_master.ewd
│ │ │ │ │ ├── spi_dma_master.ewp
│ │ │ │ │ └── spi_dma_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── spi_dma_master.uvoptx
│ │ │ │ │ └── spi_dma_master.uvprojx
│ │ │ └── main.c
│ │ ├── spi_dma_slave
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── spi_dma_slave.ewd
│ │ │ │ │ ├── spi_dma_slave.ewp
│ │ │ │ │ └── spi_dma_slave.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── spi_dma_slave.uvoptx
│ │ │ │ │ └── spi_dma_slave.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── spi_dma_slave.ewd
│ │ │ │ │ ├── spi_dma_slave.ewp
│ │ │ │ │ └── spi_dma_slave.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── spi_dma_slave.uvoptx
│ │ │ │ │ └── spi_dma_slave.uvprojx
│ │ │ └── main.c
│ │ ├── spi_it_master
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── spi_it_master.ewd
│ │ │ │ │ ├── spi_it_master.ewp
│ │ │ │ │ └── spi_it_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── spi_it_master.uvoptx
│ │ │ │ │ └── spi_it_master.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── spi_it_master.ewd
│ │ │ │ │ ├── spi_it_master.ewp
│ │ │ │ │ └── spi_it_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── spi_it_master.uvoptx
│ │ │ │ │ └── spi_it_master.uvprojx
│ │ │ └── main.c
│ │ ├── spi_it_slave
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── spi_it_slave.ewd
│ │ │ │ │ ├── spi_it_slave.ewp
│ │ │ │ │ └── spi_it_slave.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── spi_it_slave.uvoptx
│ │ │ │ │ └── spi_it_slave.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── spi_it_slave.ewd
│ │ │ │ │ ├── spi_it_slave.ewp
│ │ │ │ │ └── spi_it_slave.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── spi_it_slave.uvoptx
│ │ │ │ │ └── spi_it_slave.uvprojx
│ │ │ └── main.c
│ │ ├── spi_polling_master
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── spi_polling_master.ewd
│ │ │ │ │ ├── spi_polling_master.ewp
│ │ │ │ │ └── spi_polling_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── spi_polling_master.uvoptx
│ │ │ │ │ └── spi_polling_master.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── spi_polling_master.ewd
│ │ │ │ │ ├── spi_polling_master.ewp
│ │ │ │ │ └── spi_polling_master.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── spi_polling_master.uvoptx
│ │ │ │ │ └── spi_polling_master.uvprojx
│ │ │ └── main.c
│ │ └── spi_polling_slave
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── spi_polling_slave.ewd
│ │ │ │ ├── spi_polling_slave.ewp
│ │ │ │ └── spi_polling_slave.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── spi_polling_slave.uvoptx
│ │ │ │ └── spi_polling_slave.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── spi_polling_slave.ewd
│ │ │ │ ├── spi_polling_slave.ewp
│ │ │ │ └── spi_polling_slave.eww
│ │ │ └── uvision5
│ │ │ │ ├── spi_polling_slave.uvoptx
│ │ │ │ └── spi_polling_slave.uvprojx
│ │ │ └── main.c
│ ├── ssi
│ │ ├── ll_ssi_it
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── ll_ssi_it.ewd
│ │ │ │ │ ├── ll_ssi_it.ewp
│ │ │ │ │ └── ll_ssi_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── ll_ssi_it.uvoptx
│ │ │ │ │ └── ll_ssi_it.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── ll_ssi_handler.c
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── ll_ssi_it.ewd
│ │ │ │ │ ├── ll_ssi_it.ewp
│ │ │ │ │ └── ll_ssi_it.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── ll_ssi_it.uvoptx
│ │ │ │ │ └── ll_ssi_it.uvprojx
│ │ │ └── main.c
│ │ ├── ssi_dma
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── ssi_dma.ewd
│ │ │ │ │ ├── ssi_dma.ewp
│ │ │ │ │ └── ssi_dma.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ │ ├── ssi_dma.uvoptx
│ │ │ │ │ └── ssi_dma.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── ssi_dma.ewd
│ │ │ │ │ ├── ssi_dma.ewp
│ │ │ │ │ └── ssi_dma.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── ssi_dma.uvoptx
│ │ │ │ │ └── ssi_dma.uvprojx
│ │ │ └── main.c
│ │ └── ssi_it
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ssi_it.ewd
│ │ │ │ ├── ssi_it.ewp
│ │ │ │ └── ssi_it.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ssi_it.uvoptx
│ │ │ │ └── ssi_it.uvprojx
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── ssi_it.ewd
│ │ │ │ ├── ssi_it.ewp
│ │ │ │ └── ssi_it.eww
│ │ │ └── uvision5
│ │ │ │ ├── ssi_it.uvoptx
│ │ │ │ └── ssi_it.uvprojx
│ │ │ └── main.c
│ ├── timer
│ │ ├── Basic_PWM
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── Basic_PWM.ewd
│ │ │ │ │ ├── Basic_PWM.ewp
│ │ │ │ │ └── Basic_PWM.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── Basic_PWM.uvoptx
│ │ │ │ │ ├── Basic_PWM.uvprojx
│ │ │ │ │ └── JLinkSettings.jlinkscript
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── Basic_PWM.ewd
│ │ │ │ │ ├── Basic_PWM.ewp
│ │ │ │ │ └── Basic_PWM.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── Basic_PWM.uvoptx
│ │ │ │ │ └── Basic_PWM.uvprojx
│ │ │ └── main.c
│ │ ├── Basic_TIM
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── Basic_TIM.ewd
│ │ │ │ │ ├── Basic_TIM.ewp
│ │ │ │ │ └── Basic_TIM.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── Basic_TIM.uvoptx
│ │ │ │ │ ├── Basic_TIM.uvprojx
│ │ │ │ │ └── JLinkSettings.jlinkscript
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── Basic_TIM.ewd
│ │ │ │ │ ├── Basic_TIM.ewp
│ │ │ │ │ └── Basic_TIM.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── Basic_TIM.uvoptx
│ │ │ │ │ └── Basic_TIM.uvprojx
│ │ │ └── main.c
│ │ ├── DTC_PWM
│ │ │ ├── Project
│ │ │ │ ├── IAR
│ │ │ │ │ ├── DTC_PWM.ewd
│ │ │ │ │ ├── DTC_PWM.ewp
│ │ │ │ │ └── DTC_PWM.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── DTC_PWM.uvoptx
│ │ │ │ │ ├── DTC_PWM.uvprojx
│ │ │ │ │ └── JLinkSettings.jlinkscript
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ │ ├── iar
│ │ │ │ │ ├── DTC_PWM.ewd
│ │ │ │ │ ├── DTC_PWM.ewp
│ │ │ │ │ └── DTC_PWM.eww
│ │ │ │ └── uvision5
│ │ │ │ │ ├── DTC_PWM.uvoptx
│ │ │ │ │ └── DTC_PWM.uvprojx
│ │ │ └── main.c
│ │ └── Input_Capture
│ │ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── Input_Capture.ewd
│ │ │ │ ├── Input_Capture.ewp
│ │ │ │ └── Input_Capture.eww
│ │ │ └── uvision5
│ │ │ │ ├── Input_Capture.uvoptx
│ │ │ │ ├── Input_Capture.uvprojx
│ │ │ │ └── JLinkSettings.jlinkscript
│ │ │ ├── SConstruct
│ │ │ ├── app_config.h
│ │ │ ├── launch.json.txt
│ │ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── Input_Capture.ewd
│ │ │ │ ├── Input_Capture.ewp
│ │ │ │ └── Input_Capture.eww
│ │ │ └── uvision5
│ │ │ │ ├── Input_Capture.uvoptx
│ │ │ │ └── Input_Capture.uvprojx
│ │ │ └── main.c
│ └── uart
│ │ ├── ll_uart_it
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ll_uart_it.ewd
│ │ │ │ ├── ll_uart_it.ewp
│ │ │ │ └── ll_uart_it.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ll_uart_it.uvoptx
│ │ │ │ └── ll_uart_it.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── ll_uart_handler.c
│ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── ll_uart_it.ewd
│ │ │ │ ├── ll_uart_it.ewp
│ │ │ │ └── ll_uart_it.eww
│ │ │ └── uvision5
│ │ │ │ ├── ll_uart_it.uvoptx
│ │ │ │ └── ll_uart_it.uvprojx
│ │ └── main.c
│ │ ├── ll_uart_polling
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ll_uart_polling.ewd
│ │ │ │ ├── ll_uart_polling.ewp
│ │ │ │ └── ll_uart_polling.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ll_uart_polling.uvoptx
│ │ │ │ └── ll_uart_polling.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── ll_uart_polling.ewd
│ │ │ │ ├── ll_uart_polling.ewp
│ │ │ │ └── ll_uart_polling.eww
│ │ │ └── uvision5
│ │ │ │ ├── ll_uart_polling.uvoptx
│ │ │ │ └── ll_uart_polling.uvprojx
│ │ └── main.c
│ │ ├── uart_dma
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── uart_dma.ewd
│ │ │ │ ├── uart_dma.ewp
│ │ │ │ └── uart_dma.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── uart_dma.uvoptx
│ │ │ │ └── uart_dma.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── uart_dma.ewd
│ │ │ │ ├── uart_dma.ewp
│ │ │ │ └── uart_dma.eww
│ │ │ └── uvision5
│ │ │ │ ├── uart_dma.uvoptx
│ │ │ │ └── uart_dma.uvprojx
│ │ └── main.c
│ │ ├── uart_it
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── uart_it.ewd
│ │ │ │ ├── uart_it.ewp
│ │ │ │ └── uart_it.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── uart_it.uvoptx
│ │ │ │ └── uart_it.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── lm3050
│ │ │ ├── iar
│ │ │ │ ├── uart_it.ewd
│ │ │ │ ├── uart_it.ewp
│ │ │ │ └── uart_it.eww
│ │ │ └── uvision5
│ │ │ │ ├── uart_it.uvoptx
│ │ │ │ └── uart_it.uvprojx
│ │ └── main.c
│ │ └── uart_polling
│ │ ├── Project
│ │ ├── IAR
│ │ │ ├── uart_polling.ewd
│ │ │ ├── uart_polling.ewp
│ │ │ └── uart_polling.eww
│ │ └── uvision5
│ │ │ ├── JLinkSettings.jlinkscript
│ │ │ ├── uart_polling.uvoptx
│ │ │ └── uart_polling.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── launch.json.txt
│ │ ├── lm3050
│ │ ├── iar
│ │ │ ├── uart_polling.ewd
│ │ │ ├── uart_polling.ewp
│ │ │ └── uart_polling.eww
│ │ └── uvision5
│ │ │ ├── uart_polling.uvoptx
│ │ │ └── uart_polling.uvprojx
│ │ └── main.c
├── prop_24g
│ ├── ls_prop_24g
│ │ ├── Project
│ │ │ ├── IAR
│ │ │ │ ├── ls_prop_24g.ewd
│ │ │ │ ├── ls_prop_24g.ewp
│ │ │ │ └── ls_prop_24g.eww
│ │ │ └── uvision5
│ │ │ │ ├── JLinkSettings.jlinkscript
│ │ │ │ ├── ls_prop_24g.uvoptx
│ │ │ │ └── ls_prop_24g.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── app_user_24g.c
│ │ ├── app_user_24g.h
│ │ ├── app_user_24g_rx_only.c
│ │ ├── app_user_24g_tx_only.c
│ │ ├── launch.json.txt
│ │ ├── ls_24g_common.c
│ │ └── ls_24g_common.h
│ └── ls_prop_24g_freertos
│ │ ├── FreeRTOSConfig.h
│ │ ├── Project
│ │ ├── IAR
│ │ │ ├── ls_prop_24g_freertos.ewd
│ │ │ ├── ls_prop_24g_freertos.ewp
│ │ │ └── ls_prop_24g_freertos.eww
│ │ └── uvision5
│ │ │ ├── JLinkSettings.jlinkscript
│ │ │ ├── ls_prop_24g_freertos.uvoptx
│ │ │ └── ls_prop_24g_freertos.uvprojx
│ │ ├── SConstruct
│ │ ├── app_config.h
│ │ ├── app_user_24g.c
│ │ ├── app_user_24g.h
│ │ ├── launch.json.txt
│ │ ├── ls_24g_common_freertos.c
│ │ └── ls_24g_common_freertos.h
└── utility
│ ├── coremark
│ ├── SConstruct
│ ├── app_config.h
│ ├── core_list_join.c
│ ├── core_main.c
│ ├── core_matrix.c
│ ├── core_portme.c
│ ├── core_portme.h
│ ├── core_state.c
│ ├── core_util.c
│ ├── coremark.h
│ ├── launch.json.txt
│ └── project
│ │ ├── iar
│ │ ├── coremark.ewd
│ │ ├── coremark.ewp
│ │ └── coremark.eww
│ │ ├── ram_link.txt
│ │ └── uvision5
│ │ ├── JLinkSettings.jlinkscript
│ │ ├── coremark.uvoptx
│ │ └── coremark.uvprojx
│ └── ram_test
│ ├── SConstruct
│ ├── app_config.h
│ ├── launch.json.txt
│ ├── main.c
│ └── project
│ ├── iar
│ ├── ram_test.ewd
│ ├── ram_test.ewp
│ └── ram_test.eww
│ ├── ram_link.txt
│ └── uvision5
│ ├── JLinkSettings.jlinkscript
│ ├── ram_test.uvoptx
│ └── ram_test.uvprojx
├── hal_driver
├── api
│ ├── HAL_def.h
│ ├── calc_div.h
│ ├── ls_hal_adc.h
│ ├── ls_hal_cache.h
│ ├── ls_hal_crypt.h
│ ├── ls_hal_dac.h
│ ├── ls_hal_dmac.h
│ ├── ls_hal_ecc.h
│ ├── ls_hal_flash.h
│ ├── ls_hal_i2c.h
│ ├── ls_hal_iwdg.h
│ ├── ls_hal_pdm.h
│ ├── ls_hal_pis.h
│ ├── ls_hal_rtc.h
│ ├── ls_hal_spi_i2s.h
│ ├── ls_hal_ssi.h
│ ├── ls_hal_timer.h
│ ├── ls_hal_trng.h
│ ├── ls_hal_uart.h
│ ├── ls_hal_wwdg.h
│ ├── ls_ll_i2c.h
│ ├── ls_ll_opamp.h
│ ├── ls_ll_spi.h
│ ├── ls_ll_ssi.h
│ ├── ls_ll_timer.h
│ └── ls_ll_uart.h
├── inc
│ ├── hal_flash_int.h
│ ├── i2c_misc.h
│ ├── ls_hal_qspi.h
│ ├── reg_adc_type.h
│ ├── reg_cache_type.h
│ ├── reg_calc_type.h
│ ├── reg_crypt_type.h
│ ├── reg_dac_type.h
│ ├── reg_dmac_type.h
│ ├── reg_ecc_type.h
│ ├── reg_i2c_type.h
│ ├── reg_iwdg_type.h
│ ├── reg_pdm_type.h
│ ├── reg_pis_type.h
│ ├── reg_qspi_type.h
│ ├── reg_rtc_type.h
│ ├── reg_spi_type.h
│ ├── reg_ssi_type.h
│ ├── reg_timer_type.h
│ ├── reg_trng_type.h
│ ├── reg_trngv2_type.h
│ ├── reg_uart_type.h
│ ├── reg_wwdg_type.h
│ └── ssi_misc.h
└── src
│ ├── calc_div.c
│ ├── ls_hal_adc.c
│ ├── ls_hal_adc_dma.c
│ ├── ls_hal_cache.c
│ ├── ls_hal_crypt.c
│ ├── ls_hal_dmac.c
│ ├── ls_hal_ecc.c
│ ├── ls_hal_flash.c
│ ├── ls_hal_flash_qspi.c
│ ├── ls_hal_flash_swint.c
│ ├── ls_hal_i2c.c
│ ├── ls_hal_i2c_dma.c
│ ├── ls_hal_iwdg.c
│ ├── ls_hal_pdm.c
│ ├── ls_hal_pdm_dma.c
│ ├── ls_hal_pis.c
│ ├── ls_hal_qspi.c
│ ├── ls_hal_rtc.c
│ ├── ls_hal_spi_i2s.c
│ ├── ls_hal_spi_i2s_dma.c
│ ├── ls_hal_ssi.c
│ ├── ls_hal_ssi_dma.c
│ ├── ls_hal_timer.c
│ ├── ls_hal_trng.c
│ ├── ls_hal_uart.c
│ ├── ls_hal_uart_dma.c
│ └── ls_hal_wwdg.c
├── module
├── adpcm
│ ├── adpcm.c
│ └── adpcm.h
├── ble
│ ├── ble_common_api.c
│ ├── ble_common_api.h
│ ├── builtin_timer.h
│ ├── ll
│ │ ├── adv_report_cache.h
│ │ ├── dev_addr_cache.h
│ │ ├── evt_ctrl.h
│ │ ├── hci_format.h
│ │ ├── ll_adv.h
│ │ ├── ll_config.h
│ │ ├── ll_conn.h
│ │ ├── ll_env.h
│ │ ├── ll_evt.h
│ │ ├── ll_ext_adv.h
│ │ ├── ll_ext_scan.h
│ │ ├── ll_external.h
│ │ ├── ll_hci.h
│ │ ├── ll_scan.h
│ │ ├── ll_sched.h
│ │ ├── ll_sync.h
│ │ ├── ll_test.h
│ │ ├── per_adv_list.h
│ │ ├── reg_mac_type.h
│ │ ├── sw_cache.h
│ │ ├── swint_call.h
│ │ ├── timer_wrapper.h
│ │ └── white_list.h
│ ├── ll_buf.c
│ ├── ls_24g.h
│ ├── ls_ble.h
│ ├── ls_mesh.h
│ ├── ls_sig_mesh.h
│ ├── ls_sig_mesh_provisioner.h
│ ├── ls_sys.h
│ ├── prf
│ │ ├── prf_ancs.h
│ │ ├── prf_bass.h
│ │ ├── prf_diss.h
│ │ ├── prf_fotas.h
│ │ └── prf_hid.h
│ └── rssi_smoothing_algo.h
├── calendar
│ ├── calendar.c
│ └── calendar.h
├── common
│ ├── async_call.c
│ ├── async_call.h
│ ├── circular_doubly_linked_list.c
│ ├── circular_doubly_linked_list.h
│ ├── co_error.h
│ ├── co_list.h
│ ├── co_math.h
│ ├── common.c
│ ├── common.h
│ ├── linked_async_framework.c
│ ├── linked_async_framework.h
│ ├── sw_timer.c
│ ├── sw_timer.h
│ └── sw_timer_int.h
├── crc
│ ├── crc16.c
│ └── crc16.h
├── debug
│ ├── RTT
│ │ ├── SEGGER_RTT.c
│ │ ├── SEGGER_RTT.h
│ │ ├── SEGGER_RTT_ASM_ARMv7M.S
│ │ ├── SEGGER_RTT_Conf.h
│ │ └── SEGGER_RTT_printf.c
│ ├── log.c
│ ├── log.h
│ ├── ls_dbg.c
│ └── ls_dbg.h
├── micro-ecc
│ ├── .gitignore
│ ├── LICENSE.txt
│ ├── README.md
│ ├── asm_arm.inc
│ ├── asm_arm_mult_square.inc
│ ├── asm_arm_mult_square_umaal.inc
│ ├── asm_avr.inc
│ ├── asm_avr_mult_square.inc
│ ├── curve-specific.inc
│ ├── emk_project.py
│ ├── emk_rules.py
│ ├── examples
│ │ └── ecc_test
│ │ │ └── ecc_test.ino
│ ├── library.properties
│ ├── platform-specific.inc
│ ├── scripts
│ │ ├── mult_arm.py
│ │ ├── mult_avr.py
│ │ ├── mult_avr_extra.py
│ │ ├── square_arm.py
│ │ └── square_avr.py
│ ├── test
│ │ ├── ecdsa_test_vectors.c
│ │ ├── emk_rules.py
│ │ ├── public_key_test_vectors.c
│ │ ├── test_compress.c
│ │ ├── test_compute.c
│ │ ├── test_ecdh.c
│ │ ├── test_ecdsa.c
│ │ └── test_ecdsa_deterministic.c.example
│ ├── types.h
│ ├── uECC.c
│ ├── uECC.h
│ └── uECC_vli.h
├── settings
│ ├── inflash_settings.c
│ ├── inflash_settings.h
│ ├── ota_settings.c
│ └── ota_settings.h
├── static_buffer
│ ├── fifo.c
│ ├── fifo.h
│ ├── linked_buffer.c
│ └── linked_buffer.h
├── tinycrypt
│ ├── .gitignore
│ ├── AUTHORS
│ ├── LICENSE
│ ├── Makefile
│ ├── README
│ ├── VERSION
│ ├── config.mk
│ ├── documentation
│ │ └── tinycrypt.rst
│ ├── lib
│ │ ├── Makefile
│ │ ├── include
│ │ │ └── tinycrypt
│ │ │ │ ├── aes.h
│ │ │ │ ├── cbc_mode.h
│ │ │ │ ├── ccm_mode.h
│ │ │ │ ├── cmac_mode.h
│ │ │ │ ├── constants.h
│ │ │ │ ├── ctr_mode.h
│ │ │ │ ├── ctr_prng.h
│ │ │ │ ├── ecc.h
│ │ │ │ ├── ecc_dh.h
│ │ │ │ ├── ecc_dsa.h
│ │ │ │ ├── ecc_platform_specific.h
│ │ │ │ ├── hmac.h
│ │ │ │ ├── hmac_prng.h
│ │ │ │ ├── sha256.h
│ │ │ │ └── utils.h
│ │ └── source
│ │ │ ├── aes_decrypt.c
│ │ │ ├── aes_encrypt.c
│ │ │ ├── cbc_mode.c
│ │ │ ├── ccm_mode.c
│ │ │ ├── cmac_mode.c
│ │ │ ├── ctr_mode.c
│ │ │ ├── ctr_prng.c
│ │ │ ├── ecc.c
│ │ │ ├── ecc_dh.c
│ │ │ ├── ecc_dsa.c
│ │ │ ├── ecc_platform_specific.c
│ │ │ ├── hmac.c
│ │ │ ├── hmac_prng.c
│ │ │ ├── sha256.c
│ │ │ └── utils.c
│ └── tests
│ │ ├── Makefile
│ │ ├── include
│ │ ├── test_ecc_utils.h
│ │ └── test_utils.h
│ │ ├── pseudo-random-data.bin
│ │ ├── test_aes.c
│ │ ├── test_cbc_mode.c
│ │ ├── test_ccm_mode.c
│ │ ├── test_cmac_mode.c
│ │ ├── test_ctr_mode.c
│ │ ├── test_ctr_prng.c
│ │ ├── test_ecc_dh.c
│ │ ├── test_ecc_dsa.c
│ │ ├── test_ecc_utils.c
│ │ ├── test_hmac.c
│ │ ├── test_hmac_prng.c
│ │ └── test_sha256.c
└── tinyfs
│ ├── tinyfs.c
│ ├── tinyfs.h
│ ├── tinyfs_config.h
│ ├── tinyfs_nvm.c
│ ├── tinyfs_nvm.h
│ ├── tinyfs_test.c
│ ├── tinyfs_write_cache.c
│ └── tinyfs_write_cache.h
├── readme.txt
├── requirements.txt
├── rtos
└── freertos
│ ├── History.txt
│ ├── LICENSE.md
│ ├── README.md
│ ├── croutine.c
│ ├── event_groups.c
│ ├── heap_4.c
│ ├── include
│ ├── FreeRTOS.h
│ ├── StackMacros.h
│ ├── atomic.h
│ ├── croutine.h
│ ├── deprecated_definitions.h
│ ├── event_groups.h
│ ├── list.h
│ ├── message_buffer.h
│ ├── mpu_prototypes.h
│ ├── mpu_wrappers.h
│ ├── portable.h
│ ├── projdefs.h
│ ├── queue.h
│ ├── semphr.h
│ ├── stack_macros.h
│ ├── stdint.readme
│ ├── stream_buffer.h
│ ├── task.h
│ └── timers.h
│ ├── list.c
│ ├── queue.c
│ ├── stream_buffer.c
│ ├── tasks.c
│ └── timers.c
├── soc
├── SConscript
├── arm_cm
│ ├── SConscript
│ ├── cmsis
│ │ ├── arm_common_tables.h
│ │ ├── arm_const_structs.h
│ │ ├── arm_math.h
│ │ ├── cachel1_armv7.h
│ │ ├── cmsis_armcc.h
│ │ ├── cmsis_armclang.h
│ │ ├── cmsis_armclang_ltm.h
│ │ ├── cmsis_compiler.h
│ │ ├── cmsis_gcc.h
│ │ ├── cmsis_iccarm.h
│ │ ├── cmsis_version.h
│ │ ├── core_armv81mml.h
│ │ ├── core_armv8mbl.h
│ │ ├── core_armv8mml.h
│ │ ├── core_cm0.h
│ │ ├── core_cm0plus.h
│ │ ├── core_cm1.h
│ │ ├── core_cm23.h
│ │ ├── core_cm3.h
│ │ ├── core_cm33.h
│ │ ├── core_cm35p.h
│ │ ├── core_cm4.h
│ │ ├── core_cm55.h
│ │ ├── core_cm7.h
│ │ ├── core_sc000.h
│ │ ├── core_sc300.h
│ │ ├── mpu_armv7.h
│ │ ├── mpu_armv8.h
│ │ ├── pmu_armv8.h
│ │ └── tz_context.h
│ ├── instructions.c
│ ├── instructions.h
│ ├── le501x
│ │ ├── SConscript
│ │ ├── bin
│ │ │ ├── LE5010_BQB_RF.hex
│ │ │ ├── bram.bin
│ │ │ ├── findmy_libfw.o
│ │ │ ├── fw.hex
│ │ │ ├── fw_with_sig_mesh.hex
│ │ │ ├── libfw.o
│ │ │ ├── lible5030_tk.a
│ │ │ ├── libll_fw.a
│ │ │ ├── libll_fw_legacy.a
│ │ │ ├── libmesh.o
│ │ │ ├── ll_fw.hex
│ │ │ ├── ll_fw_legacy.hex
│ │ │ ├── mesh_stack.hex
│ │ │ ├── mible_libfw.o
│ │ │ ├── prop_24g_lib.o
│ │ │ └── rssi_smth_algo.o
│ │ ├── compiler
│ │ │ ├── armcc
│ │ │ │ ├── ble.ld
│ │ │ │ ├── common.ld
│ │ │ │ ├── delay_asm.S
│ │ │ │ ├── flash_swint_asm.inc
│ │ │ │ ├── mcu.ld
│ │ │ │ ├── mesh.ld
│ │ │ │ ├── port.c
│ │ │ │ ├── portasm.S
│ │ │ │ ├── sleep_asm.S
│ │ │ │ ├── stack_asm.S
│ │ │ │ ├── startup.S
│ │ │ │ └── swint_asm.S
│ │ │ ├── gnu
│ │ │ │ ├── ble.ld
│ │ │ │ ├── common.ld
│ │ │ │ ├── delay_asm.S
│ │ │ │ ├── mcu.ld
│ │ │ │ ├── mesh.ld
│ │ │ │ ├── port.c
│ │ │ │ ├── portasm.S
│ │ │ │ ├── sleep_asm.S
│ │ │ │ ├── stack_asm.S
│ │ │ │ ├── startup.S
│ │ │ │ └── swint_asm.S
│ │ │ └── iar
│ │ │ │ ├── ble.ld
│ │ │ │ ├── common.ld
│ │ │ │ ├── delay_asm.S
│ │ │ │ ├── mcu.ld
│ │ │ │ ├── mesh.ld
│ │ │ │ ├── port.c
│ │ │ │ ├── portasm.S
│ │ │ │ ├── sleep_asm.S
│ │ │ │ ├── stack_asm.S
│ │ │ │ ├── startup.S
│ │ │ │ └── swint_asm.S
│ │ ├── cpu.c
│ │ ├── freertos_adapt_ble.c
│ │ ├── freertos_adapt_mcu.c
│ │ ├── integration
│ │ │ ├── calc_acc.c
│ │ │ ├── calc_acc.h
│ │ │ ├── dmac_config.h
│ │ │ ├── gpio_mode.h
│ │ │ ├── ls_msp_adc.c
│ │ │ ├── ls_msp_adc.h
│ │ │ ├── ls_msp_cache.c
│ │ │ ├── ls_msp_cache.h
│ │ │ ├── ls_msp_crypt.c
│ │ │ ├── ls_msp_crypt.h
│ │ │ ├── ls_msp_dmac.c
│ │ │ ├── ls_msp_dmac.h
│ │ │ ├── ls_msp_ecc.c
│ │ │ ├── ls_msp_ecc.h
│ │ │ ├── ls_msp_i2c.c
│ │ │ ├── ls_msp_i2c.h
│ │ │ ├── ls_msp_iwdg.c
│ │ │ ├── ls_msp_iwdg.h
│ │ │ ├── ls_msp_pdm.c
│ │ │ ├── ls_msp_pdm.h
│ │ │ ├── ls_msp_pis.c
│ │ │ ├── ls_msp_pis.h
│ │ │ ├── ls_msp_qspi.c
│ │ │ ├── ls_msp_qspi.h
│ │ │ ├── ls_msp_rtc.c
│ │ │ ├── ls_msp_rtc.h
│ │ │ ├── ls_msp_spi_i2s.c
│ │ │ ├── ls_msp_spi_i2s.h
│ │ │ ├── ls_msp_ssi.c
│ │ │ ├── ls_msp_ssi.h
│ │ │ ├── ls_msp_timer.c
│ │ │ ├── ls_msp_timer.h
│ │ │ ├── ls_msp_trng.c
│ │ │ ├── ls_msp_trng.h
│ │ │ ├── ls_msp_uart.c
│ │ │ ├── ls_msp_uart.h
│ │ │ ├── ls_msp_wwdg.c
│ │ │ ├── ls_msp_wwdg.h
│ │ │ ├── ls_soc_gpio.c
│ │ │ ├── ls_soc_gpio.h
│ │ │ ├── ls_soc_pinmux.h
│ │ │ ├── modem_rf_le501x.c
│ │ │ ├── modem_rf_le501x.h
│ │ │ ├── modem_rf_le501x_24g.c
│ │ │ ├── modem_rf_le501x_24g.h
│ │ │ ├── pis_config.h
│ │ │ ├── reg_base_addr.h
│ │ │ ├── reg_exti_type.h
│ │ │ ├── reg_gpio.h
│ │ │ ├── reg_gpio_type.h
│ │ │ ├── reg_lptim.h
│ │ │ ├── reg_mdm2.h
│ │ │ ├── reg_mdm2_type.h
│ │ │ ├── reg_rcc.h
│ │ │ ├── reg_rcc_type.h
│ │ │ ├── reg_rf.h
│ │ │ ├── reg_rf_type.h
│ │ │ ├── reg_syscfg.h
│ │ │ └── reg_syscfg_type.h
│ │ ├── le501x.h
│ │ ├── lssoftiic.h
│ │ ├── lstk.h
│ │ ├── platform.c
│ │ ├── platform.h
│ │ ├── portmacro.h
│ │ ├── sdk_default_config.h
│ │ ├── sleep.c
│ │ ├── sleep.h
│ │ ├── stack_var.c
│ │ ├── sw_timer_port.c
│ │ ├── sw_timer_port.h
│ │ ├── sys_stat.c
│ │ ├── sys_stat.h
│ │ └── tk_misc.h
│ ├── swint_call_asm.h
│ └── systick.c
├── compile_flag.h
├── cpu.h
├── field_manipulate.h
├── sdk_config.h
└── systick.h
└── tools
├── Doxyfile
├── arm-gcc.py
├── arm-llvm.py
├── bin2c
├── .gitignore
├── LICENSE
├── README.md
└── bin2c.py
├── hexmerge.py
├── iar.ewp
├── ide_proj_gen.py
├── le501x
├── after_build.bat
├── ci.yml
├── hex_target.xml
├── info.bin
├── info_sbl_merge.py
└── postbuild_iar.bat
├── package
├── IAR
│ ├── config
│ │ ├── debugger
│ │ │ └── Linkedsemi
│ │ │ │ ├── LM3050.ddf
│ │ │ │ └── LM3050.dmac
│ │ ├── devices
│ │ │ └── Linkedsemi
│ │ │ │ ├── LE501X.i79
│ │ │ │ ├── LE501X.menu
│ │ │ │ ├── LM3050.i79
│ │ │ │ └── LM3050.menu
│ │ └── flashloader
│ │ │ └── Linkedsemi
│ │ │ ├── FlashLM3050.board
│ │ │ ├── FlashLM3050.flash
│ │ │ ├── FlashLM3050.mac
│ │ │ └── FlashLM3050.out
│ └── 使用说明.txt
├── JLink_Addon
│ ├── Linkedsemi_Segger_Addon.exe
│ └── 使用说明.txt
└── MDK
│ ├── Linkedsemi.DFP.1.0.0.pack
│ └── 使用说明.txt
├── prog
├── JLinkDevices.xml
└── LinkedSemi
│ ├── LE501X.jlinkscript
│ ├── le501x_flash_algo.elf
│ ├── le503x_tk_algo.elf
│ └── lm3050_flash_algo.elf
├── progen.py
├── riscv-gcc.py
├── rspfile.py
├── rv_asm_file_call_graph.py
├── signing
├── bin2array
│ ├── LICENSE
│ ├── README.md
│ └── bin2array.py
├── key_gen.py
├── readme.txt
└── signing.py
├── srec_cat.exe
├── uvision.uvproj
└── web_serialport
├── serialPort.html
└── serialPort.js
/.gitignore:
--------------------------------------------------------------------------------
1 | .sconsign.dblite
2 | *__pycache__/
3 | build/
4 | _build/
5 | *UVBuild/
6 | *.lst
7 | *.uvguix.*
8 | *.map
9 | *__info_array.c
--------------------------------------------------------------------------------
/.gitlab-ci.yml:
--------------------------------------------------------------------------------
1 | stages:
2 | - build
3 | - test
4 | - deploy
5 |
6 | .release_rule:
7 | rules:
8 | - if: $CI_COMMIT_BRANCH =~ /^release\/v*/
9 |
10 | include:
11 | - 'tools/le501x/ci.yml'
12 | - 'tools/lm3050/ci.yml'
13 |
14 | doxygen:
15 | stage: build
16 | script:
17 | - mkdir _build
18 | - doxygen tools/Doxyfile
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "stack"]
2 | path = stack
3 | url = http://10.10.20.8:8000/sw/sdk_stack.git
4 | [submodule "soc/arm_cm/le501x/tk"]
5 | path = soc/arm_cm/le501x/tk
6 | url = http://10.10.20.8:8000/sw/le5030_tk.git
7 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "ms-vscode.cpptools",
4 | "marus25.cortex-debug",
5 | "zixuanwang.linkerscript",
6 | "keroc.hex-fmt",
7 | "ms-python.python",
8 | "dan-c-underwood.arm",
9 | "webfreak.debug",
10 | "zhwu95.riscv"
11 | ]
12 | }
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | // See https://go.microsoft.com/fwlink/?LinkId=733558
3 | // for the documentation about the tasks.json format
4 | "version": "2.0.0",
5 | "tasks": [
6 | {
7 | "label": "JLinkRTTClient",
8 | "type": "process",
9 | "command": "JLinkRTTClient",
10 | "group": "none",
11 | "presentation": {
12 | "echo": true,
13 | "reveal": "always",
14 | "focus": false,
15 | "panel": "dedicated",
16 | "showReuseMessage": true,
17 | "clear": false
18 | },
19 | "problemMatcher": []
20 | }
21 | ]
22 | }
--------------------------------------------------------------------------------
/bootloader/boot_ram/le501x/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 | #if defined(LE501X)
4 |
5 | #elif defined(SAGI)
6 | #define SDK_HCLK_MHZ (128)
7 | #endif
8 | #endif
9 |
--------------------------------------------------------------------------------
/bootloader/boot_ram/le501x/bram_le501x.ld:
--------------------------------------------------------------------------------
1 |
2 | SECTIONS
3 | {
4 | .boot_ram 0x0:
5 | {
6 | KEEP(*(.rodata.vector))
7 | *(.xip_banned .text* .rodata* .data* )
8 | }
9 | .bss (NOLOAD):
10 | {
11 | *(.bss* )
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/bootloader/boot_ram/le501x/launch.json.txt:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "type": "cortex-debug",
6 | "request": "attach",
7 | "servertype": "jlink",
8 | "cwd": "${workspaceRoot}",
9 | "executable": "bootloader/boot_ram/le501x/build/le501x/boot_ram.elf",
10 | "name": "LE501X Attach BOOT_RAM",
11 | "device": "LE501X",
12 | "interface": "swd",
13 | "preAttachCommands":[
14 | "monitor flash breakpoints = 0",
15 | ]
16 | },
17 | ]
18 | }
--------------------------------------------------------------------------------
/examples/ble/ble_advertiser/Project/IAR/ble_advertiser.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_advertiser.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_advertiser/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_advertiser/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_advertiser',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_advertiser/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #endif
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_ancs/Project/IAR/ble_ancs.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_ancs.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_ancs/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_ancs/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_ancs',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_ancs/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_MAX_PROFILE_NUM 2
5 |
6 | #endif
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_at_proj/Project/IAR/ble_at_proj.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_at_proj.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_at_proj/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_at_proj/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'at_cmd_parse.c',
8 | 'at_recv_cmd.c',
9 | ]
10 | inc = [
11 | '.'
12 | ]
13 | env.app_build('ble_at_proj',src,inc)
14 |
--------------------------------------------------------------------------------
/examples/ble/ble_at_proj/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 1
5 |
6 | #define DEBUG_MODE 0
7 |
8 | #define SDK_MAX_PROFILE_NUM 1
9 |
10 | #define SDK_MAX_CONN_NUM 5
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_dis/Project/IAR/ble_dis.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_dis.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_dis/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_dis/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_dis',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_dis/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_HCLK_MHZ (16)
5 |
6 | //#define SDK_DEEP_SLEEP_ENABLE 1
7 |
8 | //#define DEBUG_MODE 0
9 |
10 |
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_dis_freertos/Project/IAR/ble_dis_freertos.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_dis_freertos.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_dis_freertos/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_dis_freertos/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_dis_freertos',src,inc,rtos = 'freertos')
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_dis_freertos/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_HCLK_MHZ (16)
5 |
6 | #define SDK_DEEP_SLEEP_ENABLE 0
7 |
8 | //#define DEBUG_MODE 0
9 |
10 |
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_fota_server/Project/IAR/ble_fota_server.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_fota_server.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_fota_server/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_fota_server/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'fota_svc_server.c',
8 | ]
9 | inc = [
10 | '.'
11 | ]
12 | env.app_build('ble_fota_server',src,inc)
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_fota_server/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_MAX_PROFILE_NUM 1
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_hid/Project/IAR/ble_hid.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_hid.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_hid/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_hid/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_hid',src,inc)
12 | env.Append(LIBS = [File(env.subst('$SDK_ROOT/soc/arm_cm/le501x/bin/rssi_smth_algo.o'))])
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_hid/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_MAX_PROFILE_NUM 2
7 |
8 | #define SDK_BLE_STORAGE_PEER_MAX 5
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_hid_dmic/Project/IAR/ble_hid_dmic.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_hid_dmic.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_hid_dmic/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_hid_dmic/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | '$SDK_ROOT/module/adpcm/adpcm.c',
7 | 'main.c'
8 | ]
9 | inc = [
10 | '$SDK_ROOT/module/adpcm',
11 | '.'
12 | ]
13 | env.app_build('ble_hid_dmic',src,inc)
14 |
--------------------------------------------------------------------------------
/examples/ble/ble_hid_dmic/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_MAX_PROFILE_NUM 2
7 |
8 | #define SDK_BLE_STORAGE_PEER_MAX 5
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_mult_roles/Project/IAR/ble_mult_roles.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_mult_roles.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_mult_roles/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_mult_roles/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_mult_roles',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_mult_roles/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_HCLK_MHZ (64)
7 |
8 | #define SDK_MAX_PROFILE_NUM 1
9 |
10 | #define SDK_MAX_CONN_NUM 5
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_mult_services/Project/IAR/ble_mult_services.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_mult_services.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_mult_services/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_mult_services/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_mult_services',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_mult_services/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_MAX_PROFILE_NUM 2
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_pairing_master_role/Project/IAR/ble_pairing_master_role.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_pairing_master_role.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_pairing_master_role/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_pairing_master_role/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_pairing_master_role',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_pairing_master_role/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_HCLK_MHZ (16)
7 |
8 | #define SDK_MAX_PROFILE_NUM 1
9 |
10 | #define SDK_MAX_CONN_NUM 2
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_pairing_slave_role/Project/IAR/ble_pairing_slave_role.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_pairing_slave_role.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_pairing_slave_role/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_pairing_slave_role/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_pairing_slave_role',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_pairing_slave_role/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_HCLK_MHZ (16)
7 |
8 | #define SDK_MAX_PROFILE_NUM 1
9 |
10 | #define SDK_MAX_CONN_NUM 2
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_single_master/Project/IAR/ble_single_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_single_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_single_master/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_single_master/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_single_master',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_single_master/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_HCLK_MHZ (16)
7 |
8 | #define SDK_MAX_PROFILE_NUM 1
9 |
10 | #define SDK_MAX_CONN_NUM 2
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_single_role/Project/IAR/ble_single_role.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_single_role.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_single_role/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_single_role/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_single_role',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_single_role/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_HCLK_MHZ (16)
7 |
8 | #define SDK_MAX_PROFILE_NUM 1
9 |
10 | #define SDK_MAX_CONN_NUM 2
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/examples/ble/ble_uart_server/Project/IAR/ble_uart_server.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_uart_server.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_uart_server/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_uart_server/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | '../../../module/micro-ecc/uECC.c'
8 | ]
9 | inc = [
10 | '.',
11 | '../../../module/micro-ecc/'
12 | ]
13 | env.app_build('ble_uart_server',src,inc)
14 |
--------------------------------------------------------------------------------
/examples/ble/ble_uart_server/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_MAX_PROFILE_NUM 1
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_uart_server_mult_link/Project/IAR/ble_uart_server_mult_link.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ble_uart_server_mult_link.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/ble_uart_server_mult_link/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/ble_uart_server_mult_link/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ble_uart_server_mult_link',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/ble_uart_server_mult_link/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_MAX_PROFILE_NUM 1
7 |
8 | #define SDK_MAX_CONN_NUM 3
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/ble/fota/Project/IAR/fota.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\fota.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/fota/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/fota/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'pub_key.c',
8 | '../../../module/micro-ecc/uECC.c'
9 | ]
10 | inc = [
11 | '.',
12 | '../../../module/micro-ecc/'
13 | ]
14 | env['LINKSCRIPT'] = File(env.subst('compiler/$COMPILER/single_bank_fota_link.txt'))
15 | env.app_build('fota',src,inc)
16 |
--------------------------------------------------------------------------------
/examples/ble/fota/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/ble/fota/compiler/gnu/single_bank_fota_link.txt:
--------------------------------------------------------------------------------
1 | MEMORY
2 | {
3 | RAM (rwx) : ORIGIN = 0x0000, LENGTH = 0xc000
4 | FLASH (rx) : ORIGIN = 0x18070000, LENGTH = 0x40000
5 | }
6 |
7 | INCLUDE common.ld
--------------------------------------------------------------------------------
/examples/ble/fota/compiler/iar/single_bank_fota_link.txt:
--------------------------------------------------------------------------------
1 | define memory mem with size = 4G;
2 |
3 | define region RAM = mem: [from 0x0 to 0xc000];
4 | define region FLASH = mem: [from 0x18070000 to 0x18080000];
5 | define symbol __data_start__ = 0x74c;
6 |
7 | include "common.ld";
--------------------------------------------------------------------------------
/examples/ble/fota/pub_key.c:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | const uint8_t fotas_pub_key[64] = {0};
4 |
--------------------------------------------------------------------------------
/examples/ble/host_test/Project/IAR/host_test.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\host_test.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/ble/host_test/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/ble/host_test/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('host_test',src,inc)
12 |
--------------------------------------------------------------------------------
/examples/ble/host_test/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 | #define SDK_DCDC_BYPASS 1
6 | #define SDK_DEEP_SLEEP_ENABLE 0
7 | #define SDK_HCLK_MHZ 16
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/genie_files/ali_dfu_port.h:
--------------------------------------------------------------------------------
1 | #ifndef _ALI_DFU_PORT_H
2 | #define _ALI_DFU_PORT_H
3 | #include
4 | #include
5 |
6 | void ais_ota_flash_cleanup(void);
7 | int erase_dfu_flash(void);
8 | unsigned char dfu_check_checksum(short image_id, unsigned short *crc16_output);
9 | int ali_dfu_image_update(short signature, int offset, int length, int *p_void);
10 | uint32_t ali_dfu_get_ota_partition_max_size(void);
11 |
12 |
13 |
14 | #endif
15 |
16 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/genie_files/tmall_genie_log.h:
--------------------------------------------------------------------------------
1 | #ifndef __TMALL_GENIE_LOG_H__
2 | #define __TMALL_GENIE_LOG_H__
3 |
4 | void ls_uart_init(void);
5 | #endif // __TMALL_GENIE_LOG_H__
6 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/genie_files/tmall_genie_triple_handle.h:
--------------------------------------------------------------------------------
1 | #ifndef __TMALL_GENIE_TRIPLE_HANDLE_H__
2 | #define __TMALL_GENIE_TRIPLE_HANDLE_H__
3 | #include
4 |
5 | #define TRIPLE_PID_LEN 4
6 | #define TRIPLE_MAC_LEN 6
7 | #define TRIPLE_SECRET_LEN 16
8 | #define ALI_AUTH_VALUE_LEN 16
9 | #define ALI_TRIPLE_SUM_LEN (TRIPLE_PID_LEN + TRIPLE_MAC_LEN + TRIPLE_SECRET_LEN)
10 |
11 |
12 | uint8_t gen_ali_authValue(void);
13 | void ls_uart_init(void);
14 | void hextostring(const uint8_t *source, char *dest, int len);
15 | #endif // __TMALL_GENIE_TRIPLE_HANDLE_H__
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/tmall_mesh_gatt/Project/IAR/tmall_mesh_gatt.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\tmall_mesh_gatt.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/tmall_mesh_gatt/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/tmall_mesh_gatt/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 | #define SDK_MAX_CONN_NUM 3
7 | #define DEBUG_MODE 0
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/tmall_mesh_gatt_glp/Project/IAR/tmall_mesh_gatt_glp.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\tmall_mesh_gatt_glp.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/tmall_mesh_gatt_glp/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/tmall_mesh_gatt_glp/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 1
6 | #define SDK_MAX_CONN_NUM 3
7 | #define SDK_HCLK_MHZ (32)
8 | #define DEBUG_MODE 0
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/tmall_mesh_gatt_ls_ota/Project/IAR/tmall_mesh_gatt_ls_ota.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\tmall_mesh_gatt_ls_ota.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/tmall_mesh_gatt_ls_ota/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/mesh/genie_mesh/tmall_mesh_gatt_ls_ota/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 | #define SDK_MAX_CONN_NUM 2
7 | #define SDK_MAX_PROFILE_NUM 2
8 | #define DEBUG_MODE 0
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/mesh/ls_mesh/Project/IAR/ls_mesh.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ls_mesh.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/mesh/ls_mesh/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/mesh/ls_mesh/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'ls_mesh_light_cfg.c'
8 | ]
9 | inc = [
10 | '.'
11 | ]
12 | env.app_build('ls_mesh',src,inc)
13 |
--------------------------------------------------------------------------------
/examples/mesh/ls_mesh/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_MAX_PROFILE_NUM 3
7 |
8 | #define SDK_MAX_CONN_NUM 2
9 |
10 | #define SDK_HCLK_MHZ (64)
11 | #endif
12 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee/Project/IAR/sig_mesh_provee.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\sig_mesh_provee.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'sig_mesh_ctl.c',
8 | 'sig_light_cfg.c',
9 | 'sig_mesh_vendor_event.c'
10 | ]
11 | inc = [
12 | '.'
13 | ]
14 | env.app_build('sig_mesh_provee',src,inc,mesh = True)
15 |
16 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 | #define SDK_MAX_CONN_NUM 3
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee/sig_mesh_vendor_event.h:
--------------------------------------------------------------------------------
1 | #ifndef __SIG_MESH_VENDOR_EVENT__
2 | #define __SIG_MESH_VENDOR_EVENT__
3 |
4 | void vendor_event_init(void);
5 | void vendor_event_accept_info(uint8_t const *info, uint32_t info_len);
6 |
7 | #endif //__SIG_MESH_VENDOR_EVENT__
8 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_alexa/Project/IAR/sig_mesh_provee_alexa.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\sig_mesh_provee_alexa.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_alexa/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_alexa/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env['OPT_LVL'] = ' -Os '
5 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
6 | src = [
7 | 'main.c',
8 | 'sig_mesh_ctl.c',
9 | 'sig_light_cfg.c'
10 | ]
11 | inc = [
12 | '.'
13 | ]
14 | env.app_build('sig_mesh_provee_alexa',src,inc,mesh = True)
15 |
16 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_alexa/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 | #define SDK_MAX_CONN_NUM 3
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_auto_prov/Project/IAR/sig_mesh_provee_auto_prov.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\sig_mesh_provee_auto_prov.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_auto_prov/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_auto_prov/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'sig_mesh_ctl.c',
8 | 'sig_mesh_vendor_event.c'
9 | ]
10 | inc = [
11 | '.'
12 | ]
13 | env.app_build('sig_mesh_provee_auto_prov',src,inc,mesh = True)
14 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_auto_prov/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 | #define SDK_MAX_CONN_NUM 3
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_auto_prov/sig_mesh_ctl.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include "sig_mesh_ctl.h"
4 | #include "cpu.h"
5 | #include "log.h"
6 | #include "le501x.h"
7 |
8 | void dev_mesh_status_rsp(struct model_rx_info const *ind,uint32_t opcode,uint8_t *status,uint16_t cmd_len)
9 | {
10 | struct model_send_info rsp;
11 | rsp.opcode = opcode;
12 | rsp.ModelHandle = ind->ModelHandle;
13 | rsp.app_key_lid = ind->app_key_lid;
14 | rsp.dest_addr = ind->source_addr;
15 | rsp.len = ind->rx_info_len;
16 | memcpy(rsp.info, status, cmd_len);
17 | model_send_info_handler(&rsp);
18 | }
19 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provee_auto_prov/sig_mesh_vendor_event.h:
--------------------------------------------------------------------------------
1 | #ifndef __SIG_MESH_VENDOR_EVENT__
2 | #define __SIG_MESH_VENDOR_EVENT__
3 |
4 | void vendor_event_init(void);
5 | void vendor_event_accept_info(uint8_t const *info, uint32_t info_len);
6 |
7 | #endif //__SIG_MESH_VENDOR_EVENT__
8 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provisioner/Project/IAR/sig_mesh_provisioner.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\sig_mesh_provisioner.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provisioner/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provisioner/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'at_sig_mesh_prover_recv_cmd.c',
8 | 'at_sig_mesh_prover_cmd_parse.c',
9 | 'at_sig_mesh_prover_cmd_ind.c',
10 | ]
11 | inc = [
12 | '.'
13 | ]
14 | env.app_build('sig_mesh_provisioner',src,inc,mesh = True)
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provisioner/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 | #define SDK_MAX_CONN_NUM 3
7 | #define SDK_USER_BUILTIN_TIMER_NUM_MAX 8
8 |
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/mesh/sig_mesh/sig_mesh_provisioner/at_sig_mesh_prover_cmd_parse.h:
--------------------------------------------------------------------------------
1 | #ifndef _AT_SIG_MESH_PROVER_CMD_PARSE_H_
2 | #define _AT_SIG_MESH_PROVER_CMD_PARSE_H_
3 |
4 | #include "platform.h"
5 | #include "modem_rf_le501x.h"
6 | #include "ls_ble.h"
7 |
8 | #define RECV_MAX_LEN 128
9 |
10 | typedef struct _at_recv_cmd
11 | {
12 | uint8_t recv_data[RECV_MAX_LEN];
13 | uint16_t recv_len;
14 | }at_recv_cmd_t;
15 |
16 | extern struct at_buff_env ls_at_buff_env;
17 |
18 | /**
19 | * @brief
20 | *
21 | * @param recv_buf
22 | */
23 | void at_recv_cmd_handler(at_recv_cmd_t *recv_buf);
24 |
25 | #endif //_AT_SIG_MESH_PROVER_CMD_PARSE_H_
26 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_master/Project/IAR/i2s_dma_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_dma_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_master/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_master/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('i2s_dma_master',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_master/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_master/lm3050/iar/i2s_dma_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_dma_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_slave/Project/IAR/i2s_dma_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_dma_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_slave/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_slave/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('i2s_dma_slave',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_slave/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_dma_slave/lm3050/iar/i2s_dma_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_dma_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_master/Project/IAR/i2s_it_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_it_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_master/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_master/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('i2s_it_master',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_master/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_master/lm3050/iar/i2s_it_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_it_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_slave/Project/IAR/i2s_it_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_it_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_slave/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_slave/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('i2s_it_slave',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_slave/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_it_slave/lm3050/iar/i2s_it_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_it_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_master/Project/IAR/i2s_polling_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_polling_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_master/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_master/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('i2s_polling_master',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_master/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_master/lm3050/iar/i2s_polling_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_polling_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_slave/Project/IAR/i2s_polling_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_polling_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_slave/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_slave/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('i2s_polling_slave',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_slave/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/peripheral/I2S/i2s_polling_slave/lm3050/iar/i2s_polling_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2s_polling_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_application/Project/IAR/iap_application.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\iap_application.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_application/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_application/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'user_info_config.c'
8 | ]
9 | inc = [
10 | '.'
11 | ]
12 |
13 | env['LINKSCRIPT'] = File(env.subst('compiler/$COMPILER/${IC}_mcu_link.txt'))
14 | env.app_build('iap_application',src,inc,ble = False)
15 |
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_application/lm3050/iar/iap_application.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\iap_application.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_bootloader/Project/IAR/iap_bootloader.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\iap_bootloader.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_bootloader/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_bootloader/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'uart_process.c',
7 | 'upgrade_process.c',
8 | 'main.c',
9 | 'iap_sha256.c',
10 | ]
11 | inc = [
12 | '.'
13 | ]
14 |
15 | env['LINKSCRIPT'] = File(env.subst('compiler/$COMPILER/${IC}_mcu_link.txt'))
16 | env.app_build('iap_bootloader',src,inc,ble = False)
17 |
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_bootloader/iap_sha256.h:
--------------------------------------------------------------------------------
1 | #ifndef _IAP_SHA256_H
2 | #define _IAP_SHA256_H
3 |
4 | #include
5 |
6 | #if defined(LE501X)
7 | void sha256_get(uint8_t *data,uint32_t len,uint8_t *hash);
8 | #endif
9 |
10 | #endif
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_bootloader/lm3050/iar/iap_bootloader.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\iap_bootloader.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/IAP/iap_bootloader/upgrade_process.h:
--------------------------------------------------------------------------------
1 | #ifndef _UPGRADE_PROCESS_H
2 | #define _UPGRADE_PROCESS_H
3 |
4 | #include "platform.h"
5 |
6 | typedef void (*APP_FUNC)();
7 |
8 | typedef struct
9 | {
10 | #define APP_CONFIG_CODE_SIGN 0X11223344
11 |
12 | uint32_t code_sign;
13 | uint32_t code_len;
14 |
15 | } app_config_t;
16 |
17 | void get_app_config(uint8_t *buffer);
18 | bool earse_app_code(void);
19 | bool sign_app_code(uint8_t *p_data, uint32_t sign_code_len);
20 | bool write_app_code(uint8_t *p_data, uint32_t code_offset);
21 | void jump_to_app(void);
22 | bool check_application(void);
23 |
24 | #endif
--------------------------------------------------------------------------------
/examples/peripheral/PDM/pdm_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('pdm_it',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/PDM/pdm_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #ifndef LE501x
5 | #define SDK_HCLK_MHZ (64)
6 | #define SDK_HSE_USED (1)
7 | #endif
8 |
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/peripheral/PDM/pdm_it/lm3050/iar/pdm_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\pdm_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/PDM/pdm_it/project/iar/pdm_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\pdm_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/PDM/pdm_it/project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/PDM/pdm_pingpong_dma/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('pdm_pingpong_dma',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/PDM/pdm_pingpong_dma/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/peripheral/PDM/pdm_pingpong_dma/project/iar/pdm_pingpong_dma.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\pdm_pingpong_dma.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/PDM/pdm_pingpong_dma/project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_it/Project/IAR/trng_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\trng_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('trng_it',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #endif
5 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_it/lm3050/iar/trng_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\trng_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_it/main.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include "ls_hal_trng.h"
4 | #include "platform.h"
5 | #include "log.h"
6 |
7 | volatile bool completeflag;
8 |
9 | int main()
10 | {
11 | sys_init_none();
12 | HAL_TRNG_Init();
13 | while (1)
14 | {
15 | completeflag = true;
16 | HAL_TRNG_GenerateRandomNumber_IT();
17 | while (completeflag);
18 | DELAY_US(1000 * 300);
19 | }
20 | }
21 |
22 | void HAL_TRNG_ReadyDataCallback(uint32_t random32bit)
23 | {
24 | LOG_I("RandomNumber: %x", random32bit);
25 | completeflag = false;
26 | }
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_polling/Project/IAR/trng_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\trng_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_polling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_polling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('trng_polling',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_polling/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #endif
5 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_polling/lm3050/iar/trng_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\trng_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/TRNG/trng_polling/main.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include "ls_hal_trng.h"
4 | #include "platform.h"
5 | #include "log.h"
6 |
7 | static uint32_t random32bit;
8 |
9 | int main()
10 | {
11 | sys_init_none();
12 | HAL_TRNG_Init();
13 | while (1)
14 | {
15 | HAL_TRNG_GenerateRandomNumber(&random32bit);
16 | LOG_I("RandomNumber: %x", random32bit);
17 | DELAY_US(1000 * 1000);
18 | }
19 | }
--------------------------------------------------------------------------------
/examples/peripheral/WDG/iwdg/Project/IAR/iwdg.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\iwdg.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/iwdg/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/iwdg/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('iwdg',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/iwdg/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 | #endif
6 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/iwdg/lm3050/iar/iwdg.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\iwdg.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/iwdg/main.c:
--------------------------------------------------------------------------------
1 | #include "ls_hal_iwdg.h"
2 | #include "ls_soc_gpio.h"
3 | #include "platform.h"
4 | #include
5 |
6 | #define IWDG_LOAD_VALUE 32768
7 |
8 | int main(void)
9 | {
10 | sys_init_none();
11 | io_cfg_output(PA00);
12 | io_cfg_output(PA01);
13 |
14 | io_clr_pin(PA00);
15 | HAL_IWDG_Init(IWDG_LOAD_VALUE);
16 | while (1)
17 | {
18 | DELAY_US(1000000);
19 | io_toggle_pin(PA01);
20 | HAL_IWDG_Refresh();
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/wwdg/Project/IAR/wwdg.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\wwdg.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/wwdg/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/wwdg/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('wwdg',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/wwdg/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 | #endif
6 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/wwdg/lm3050/iar/wwdg.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\wwdg.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/WDG/wwdg/main.c:
--------------------------------------------------------------------------------
1 | #include "ls_hal_wwdg.h"
2 | #include "ls_soc_gpio.h"
3 | #include "platform.h"
4 | #include
5 | #include "log.h"
6 |
7 | #define WWDG_LOAD_VALUE 32768
8 |
9 | uint8_t win_cnt = 0;
10 | uint32_t value = 0;
11 |
12 | int main(void)
13 | {
14 | sys_init_none();
15 | io_cfg_output(PA00);
16 | io_cfg_output(PA01);
17 |
18 | io_clr_pin(PA00);
19 | HAL_WWDG_Init(WWDG_LOAD_VALUE,NO_FEEDING_WWDG_2_4);
20 | while (1)
21 | {
22 | HAL_WWDG_Get_Count(&win_cnt,&value);
23 | if(win_cnt>=2 && value<2000)
24 | {
25 | io_toggle_pin(PA01);
26 | HAL_WWDG_Refresh();
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_amic_sampling/Project/IAR/adc_amic_sampling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\adc_amic_sampling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_amic_sampling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_amic_sampling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | '$SDK_ROOT/module/adpcm/adpcm.c',
7 | 'main.c',
8 | ]
9 | inc = [
10 | '$SDK_ROOT/module/adpcm',
11 | '.',
12 | ]
13 | env.app_build('adc_amic_sampling',src,inc,ble = False)
14 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_analog_wdg/Project/IAR/adc_analog_wdg.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\adc_analog_wdg.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_analog_wdg/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_analog_wdg/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('adc_analog_wdg',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_analog_wdg/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 |
6 | #define SDK_HCLK_MHZ (64)
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_blocking_sampling/Project/IAR/adc_blocking_sampling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\adc_blocking_sampling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_blocking_sampling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_blocking_sampling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('adc_blocking_sampling',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_blocking_sampling/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 |
7 | #define SDK_HCLK_MHZ (16)
8 |
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_multi_channel/Project/IAR/adc_multi_channel.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\adc_multi_channel.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_multi_channel/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_multi_channel/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('adc_multi_channel',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_multi_channel/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 |
7 | #define SDK_HCLK_MHZ (16)
8 |
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_multi_channel_dma/Project/IAR/adc_multi_channel_dma.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\adc_multi_channel_dma.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_multi_channel_dma/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_multi_channel_dma/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('adc_multi_channel_dma',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_multi_channel_dma/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 |
7 | #define SDK_HCLK_MHZ (16)
8 |
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_single_channel/Project/IAR/adc_single_channel.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\adc_single_channel.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_single_channel/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_single_channel/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('adc_single_channel',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/adc/adc_single_channel/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 |
7 | #define SDK_HCLK_MHZ (16)
8 |
9 | #endif
10 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_it/Project/IAR/des_ecb_cbc_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\des_ecb_cbc_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('des_ecb_cbc_it',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_it/lm3050/iar/des_ecb_cbc_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\des_ecb_cbc_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_polling/Project/IAR/des_ecb_cbc_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\des_ecb_cbc_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_polling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_polling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('des_ecb_cbc_polling',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_polling/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_ecb_cbc_polling/lm3050/iar/des_ecb_cbc_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\des_ecb_cbc_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_it_padding/Project/IAR/des_it_padding.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\des_it_padding.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_it_padding/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_it_padding/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('des_it_padding',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_it_padding/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/des_it_padding/lm3050/iar/des_it_padding.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\des_it_padding.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_it/Project/IAR/ecb_cbc_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ecb_cbc_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ecb_cbc_it',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_it/lm3050/iar/ecb_cbc_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ecb_cbc_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_polling/Project/IAR/ecb_cbc_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ecb_cbc_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_polling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_polling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ecb_cbc_polling',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_polling/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_cbc_polling/lm3050/iar/ecb_cbc_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ecb_cbc_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_it_padding/Project/IAR/ecb_it_padding.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ecb_it_padding.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_it_padding/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_it_padding/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ecb_it_padding',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_it_padding/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/crypt/ecb_it_padding/lm3050/iar/ecb_it_padding.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ecb_it_padding.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/gpio/Project/IAR/gpio.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\gpio.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/gpio/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/gpio/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('gpio',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/gpio/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_DEEP_SLEEP_ENABLE 0
5 | #endif
6 |
--------------------------------------------------------------------------------
/examples/peripheral/gpio/lm3050/iar/gpio.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\gpio.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_dma/Project/IAR/i2c_dma.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2c_dma.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_dma/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_dma/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('i2c_dma',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_dma/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 |
7 | #define SDK_HSE_USED (1)
8 | #define SDK_HCLK_MHZ (64)
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_dma/lm3050/iar/i2c_dma.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2c_dma.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_it/Project/IAR/i2c_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2c_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('i2c_it',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 |
7 | #define SDK_HSE_USED (1)
8 | #define SDK_HCLK_MHZ (64)
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_it/lm3050/iar/i2c_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2c_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_polling/Project/IAR/i2c_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2c_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_polling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_polling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('i2c_polling',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_polling/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 |
7 | #define SDK_HSE_USED (1)
8 | #define SDK_HCLK_MHZ (16)
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/i2c_polling/lm3050/iar/i2c_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\i2c_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_it/Project/IAR/ll_i2c_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_i2c_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'll_i2c_handler.c',
8 | ]
9 | inc = [
10 | '.'
11 | ]
12 | env.app_build('ll_i2c_it',src,inc,ble = False)
13 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 |
7 | #define SDK_HSE_USED (1)
8 | #define SDK_HCLK_MHZ (64)
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_it/lm3050/iar/ll_i2c_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_i2c_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_polling/Project/IAR/ll_i2c_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_i2c_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_polling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_polling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ll_i2c_polling',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_polling/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_USER_TINYFS_NODE_MAX 50
5 | #define SDK_DEEP_SLEEP_ENABLE 0
6 |
7 | #define SDK_HSE_USED (1)
8 | #define SDK_HCLK_MHZ (64)
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/i2c/ll_i2c_polling/lm3050/iar/ll_i2c_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_i2c_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/rtc/Project/IAR/rtc.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\rtc.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/rtc/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/rtc/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('rtc',src,inc, ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/rtc/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_LSI_USED 1
5 |
6 | #define SDK_DEEP_SLEEP_ENABLE 1
7 |
8 | #define DEBUG_MODE 0
9 |
10 |
11 | #endif
12 |
--------------------------------------------------------------------------------
/examples/peripheral/software_calendar/Project/IAR/software_calendar.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\software_calendar.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/software_calendar/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/software_calendar/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | '$SDK_ROOT/module/calendar/calendar.c',
7 | 'main.c'
8 | ]
9 | inc = [
10 | '$SDK_ROOT/module/calendar/',
11 | '.'
12 | ]
13 | env.app_build('software_calendar',src,inc,ble = False)
14 |
--------------------------------------------------------------------------------
/examples/peripheral/software_calendar/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define DEBUG_MODE 0
5 | #define SDK_LSI_USED 1
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/software_calendar/lm3050/iar/software_calendar.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\software_calendar.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/software_timers/Project/IAR/software_timers.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\software_timers.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/software_timers/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/software_timers/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('software_timers',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/software_timers/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define DEBUG_MODE 0
5 | #define SDK_LSI_USED 1
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/software_timers/lm3050/iar/software_timers.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\software_timers.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_it/Project/IAR/ll_spi_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_spi_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'll_spi_handler.c',
8 | ]
9 | inc = [
10 | '.'
11 | ]
12 | env.app_build('ll_spi_it',src,inc,ble = False)
13 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_it/lm3050/iar/ll_spi_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_spi_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_polling/Project/IAR/ll_spi_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_spi_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_polling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_polling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ll_spi_polling',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_polling/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/ll_spi_polling/lm3050/iar/ll_spi_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_spi_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_master/Project/IAR/spi_dma_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_dma_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_master/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_master/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('spi_dma_master',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_master/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_master/lm3050/iar/spi_dma_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_dma_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_slave/Project/IAR/spi_dma_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_dma_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_slave/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_slave/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('spi_dma_slave',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_slave/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_dma_slave/lm3050/iar/spi_dma_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_dma_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_master/Project/IAR/spi_it_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_it_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_master/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_master/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('spi_it_master',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_master/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_master/lm3050/iar/spi_it_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_it_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_slave/Project/IAR/spi_it_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_it_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_slave/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_slave/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('spi_it_slave',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_slave/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_it_slave/lm3050/iar/spi_it_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_it_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_master/Project/IAR/spi_polling_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_polling_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_master/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_master/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('spi_polling_master',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_master/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_master/lm3050/iar/spi_polling_master.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_polling_master.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_slave/Project/IAR/spi_polling_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_polling_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_slave/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_slave/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('spi_polling_slave',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_slave/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/spi/spi_polling_slave/lm3050/iar/spi_polling_slave.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\spi_polling_slave.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ll_ssi_it/Project/IAR/ll_ssi_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_ssi_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ll_ssi_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ll_ssi_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'll_ssi_handler.c',
8 | ]
9 | inc = [
10 | '.'
11 | ]
12 | env.app_build('ll_ssi_it',src,inc,ble = False)
13 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ll_ssi_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ll_ssi_it/lm3050/iar/ll_ssi_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_ssi_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_dma/Project/IAR/ssi_dma.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ssi_dma.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_dma/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_dma/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ssi_dma',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_dma/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_dma/lm3050/iar/ssi_dma.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ssi_dma.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_it/Project/IAR/ssi_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ssi_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ssi_it',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/ssi/ssi_it/lm3050/iar/ssi_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ssi_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_PWM/Project/IAR/Basic_PWM.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\Basic_PWM.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_PWM/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_PWM/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('Basic_PWM',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_PWM/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 | #endif
6 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_PWM/lm3050/iar/Basic_PWM.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\Basic_PWM.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_TIM/Project/IAR/Basic_TIM.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\Basic_TIM.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_TIM/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_TIM/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('Basic_TIM',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_TIM/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 | #endif
6 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Basic_TIM/lm3050/iar/Basic_TIM.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\Basic_TIM.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/DTC_PWM/Project/IAR/DTC_PWM.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\DTC_PWM.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/DTC_PWM/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/DTC_PWM/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('DTC_PWM',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/DTC_PWM/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 | #endif
6 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/DTC_PWM/lm3050/iar/DTC_PWM.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\DTC_PWM.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Input_Capture/Project/IAR/Input_Capture.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\Input_Capture.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Input_Capture/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Input_Capture/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('Input_Capture',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Input_Capture/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 | #endif
6 |
--------------------------------------------------------------------------------
/examples/peripheral/timer/Input_Capture/lm3050/iar/Input_Capture.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\Input_Capture.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_it/Project/IAR/ll_uart_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_uart_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | 'll_uart_handler.c'
8 | ]
9 | inc = [
10 | '.'
11 | ]
12 | env.app_build('ll_uart_it',src,inc,ble = False)
13 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_it/lm3050/iar/ll_uart_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_uart_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_polling/Project/IAR/ll_uart_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_uart_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_polling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_polling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('ll_uart_polling',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_polling/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/ll_uart_polling/lm3050/iar/ll_uart_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ll_uart_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_dma/Project/IAR/uart_dma.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\uart_dma.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_dma/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_dma/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('uart_dma',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_dma/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_dma/lm3050/iar/uart_dma.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\uart_dma.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_it/Project/IAR/uart_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\uart_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_it/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_it/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('uart_it',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_it/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_it/lm3050/iar/uart_it.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\uart_it.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_polling/Project/IAR/uart_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\uart_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_polling/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_polling/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c'
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env.app_build('uart_polling',src,inc,ble = False)
12 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_polling/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/peripheral/uart/uart_polling/lm3050/iar/uart_polling.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\uart_polling.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g/Project/IAR/ls_prop_24g.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ls_prop_24g.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'ls_24g_common.c',
7 | 'app_user_24g.c',
8 | ]
9 | inc = [
10 | '.'
11 | ]
12 | env.app_build('ls_prop_24g',src,inc, ble = False)
13 | env.Append(LIBS = [File(env.subst('$SDK_ROOT/soc/arm_cm/le501x/bin/prop_24g_lib.o'))])
14 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_HCLK_MHZ (64)
5 |
6 | #define DEBUG_MODE 0
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g/app_user_24g.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/examples/prop_24g/ls_prop_24g/app_user_24g.h
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g/ls_24g_common.h:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #ifndef _LS_24G_COMMON_H_
4 | #define _LS_24G_COMMON_H_
5 |
6 | void ls_24g_sleep_wakeup(void);
7 | #endif
8 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g_freertos/Project/IAR/ls_prop_24g_freertos.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ls_prop_24g_freertos.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g_freertos/Project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g_freertos/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'ls_24g_common_freertos.c',
7 | 'app_user_24g.c',
8 | ]
9 | inc = [
10 | '.'
11 | ]
12 | env.app_build('ls_prop_24g_freertos',src,inc, rtos = 'freertos', ble = False)
13 | env.Append(LIBS = [File(env.subst('$SDK_ROOT/soc/arm_cm/le501x/bin/prop_24g_lib.o'))])
14 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g_freertos/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #define SDK_HCLK_MHZ (64)
5 |
6 | #define DEBUG_MODE 0
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g_freertos/app_user_24g.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/examples/prop_24g/ls_prop_24g_freertos/app_user_24g.h
--------------------------------------------------------------------------------
/examples/prop_24g/ls_prop_24g_freertos/ls_24g_common_freertos.h:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #ifndef _LS_24G_COMMON_FREERTOS_H_
4 | #define _LS_24G_COMMON_FREERTOS_H_
5 |
6 | void ls_24g_sleep_wakeup_freertos(void);
7 | #endif
8 |
--------------------------------------------------------------------------------
/examples/utility/coremark/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'core_list_join.c',
7 | 'core_main.c',
8 | 'core_matrix.c',
9 | 'core_portme.c',
10 | 'core_state.c',
11 | 'core_util.c',
12 | ]
13 | inc = [
14 | '.'
15 | ]
16 | #env['LINKSCRIPT'] = File(env.subst('$IC/ram_link.txt'))
17 | #env.image_build('coremark',src,inc)
18 | env.app_build('coremark',src,inc,ble = False)
--------------------------------------------------------------------------------
/examples/utility/coremark/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 | #endif
5 |
--------------------------------------------------------------------------------
/examples/utility/coremark/project/iar/coremark.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\coremark.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/utility/coremark/project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/examples/utility/ram_test/SConstruct:
--------------------------------------------------------------------------------
1 | import os
2 | env = Environment(ENV = os.environ)
3 | env['SDK_ROOT'] = Dir('../../../')
4 | env.SConscript(env['SDK_ROOT'].File('soc/SConscript'),exports=['env'])
5 | src = [
6 | 'main.c',
7 | ]
8 | inc = [
9 | '.'
10 | ]
11 | env['LINKSCRIPT'] = File(env.subst('$IC/ram_link.txt'))
12 | env.image_build('ram_test',src,inc)
13 |
--------------------------------------------------------------------------------
/examples/utility/ram_test/app_config.h:
--------------------------------------------------------------------------------
1 | #ifndef APP_CONFIG_H_
2 | #define APP_CONFIG_H_
3 |
4 |
5 | #define SDK_HCLK_MHZ (16)
6 |
7 |
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/examples/utility/ram_test/project/iar/ram_test.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $WS_DIR$\ram_test.ewp
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/utility/ram_test/project/uvision5/JLinkSettings.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/hal_driver/api/calc_div.h:
--------------------------------------------------------------------------------
1 | #ifndef CALC_DIV_H_
2 | #define CALC_DIV_H_
3 | #include
4 | #include
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | uint64_t calc_div(uint32_t dividend,uint32_t divisor,bool signed_div);
11 |
12 | #ifdef __cplusplus
13 | }
14 | #endif
15 |
16 | #endif
17 |
18 |
--------------------------------------------------------------------------------
/hal_driver/api/ls_hal_cache.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_HAL_CACHE_H_
2 | #define LS_HAL_CACHE_H_
3 | #include
4 | #include "ls_msp_cache.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | void lscache_cache_enable(uint8_t prefetch);
11 |
12 | void lscache_cache_disable(void);
13 |
14 | #ifdef __cplusplus
15 | }
16 | #endif
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/hal_driver/api/ls_ll_opamp.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_LL_OPAMP_H_
2 | #define LS_LL_OPAMP_H_
3 | #include
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | #ifdef LM3050
10 | #include "reg_v33_rg_type.h"
11 | #include "field_manipulate.h"
12 |
13 | static inline void LL_OPAMP_Set(bool op1en, bool op2en, bool op3en)
14 | {
15 | MODIFY_REG(V33_RG->OP_CTRL, V33_RG_OP1_EN_MASK | V33_RG_OP2_EN_MASK | V33_RG_OP3_EN_MASK, op1en << V33_RG_OP1_EN_POS | op2en << V33_RG_OP2_EN_POS | op3en << V33_RG_OP3_EN_POS);
16 | }
17 | #endif
18 |
19 | #ifdef __cplusplus
20 | }
21 | #endif
22 |
23 | #endif
--------------------------------------------------------------------------------
/hal_driver/inc/reg_pis_type.h:
--------------------------------------------------------------------------------
1 | #ifndef REG_PIS_TYPE_H_
2 | #define REG_PIS_TYPE_H_
3 | #include
4 | #include "pis_config.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | typedef struct
11 | {
12 | volatile uint32_t CH[PIC_CHANNEL_NUM];
13 | volatile uint32_t OER;
14 | } reg_pis_t;
15 |
16 | enum PIS_REG_CH_FIELD
17 | {
18 | PIS_DST_MASK = (int)0x3f,
19 | PIS_DST_POS = 0,
20 | PIS_SRC_MASK = (int)0x3f00,
21 | PIS_SRC_POS = 8,
22 | PIS_EDGE_MASK = (int)0x30000,
23 | PIS_EDGE_POS = 16,
24 | PIS_SYNC_MASK = (int)0x3000000,
25 | PIS_SYNC_POS = 24,
26 | };
27 |
28 |
29 | #ifdef __cplusplus
30 | }
31 | #endif
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/hal_driver/src/calc_div.c:
--------------------------------------------------------------------------------
1 | #include "calc_div.h"
2 | #include "field_manipulate.h"
3 | #include "reg_calc_type.h"
4 | #include "reg_base_addr.h"
5 |
6 | #define CALC ((reg_calc_t *)CALC_BASE_ADDR)
7 |
8 | uint64_t calc_div(uint32_t dividend,uint32_t divisor,bool signed_div)
9 | {
10 | CALC->DIVCSR = FIELD_BUILD(CALC_DIV_SIGN,signed_div?1:0) | FIELD_BUILD(CALC_DIV_TRM,0);
11 | CALC->DIVS = divisor;
12 | CALC->DIVD = dividend;
13 | while(REG_FIELD_RD(CALC->DIVCSR,CALC_DIV_BUSY));
14 | return (uint64_t)CALC->DIVR<<32 | CALC->DIVQ;
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/hal_driver/src/ls_hal_cache.c:
--------------------------------------------------------------------------------
1 | #include "ls_hal_cache.h"
2 | #include "ls_msp_cache.h"
3 | #include "field_manipulate.h"
4 | #include "compile_flag.h"
5 |
6 |
7 | void XIP_BANNED_FUNC(lscache_cache_enable,uint8_t prefetch)
8 | {
9 | lscache_msp_init();
10 | LSCACHE->CCR = FIELD_BUILD(LSCACHE_SET_PREFETCH, prefetch) | FIELD_BUILD(LSCACHE_EN, 1);
11 | }
12 |
13 |
14 | void lscache_cache_disable()
15 | {
16 | LSCACHE->CCR = FIELD_BUILD(LSCACHE_EN, 0);
17 | lscache_msp_deinit();
18 | }
19 |
--------------------------------------------------------------------------------
/module/ble/ll/dev_addr_cache.h:
--------------------------------------------------------------------------------
1 | #ifndef DEV_ADDR_CACHE_H_
2 | #define DEV_ADDR_CACHE_H_
3 | #include
4 | #include
5 | #include "hci_format.h"
6 | #include "co_list.h"
7 | struct dev_addr_cache
8 | {
9 | struct co_list_hdr hdr;
10 | struct ble_dev_addr dev;
11 | };
12 |
13 | void dev_addr_cache_data_copy(struct co_list_hdr const *hdr,va_list *args);
14 |
15 | bool dev_addr_cache_data_compare(struct co_list_hdr const *hdr,va_list *args);
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/module/ble/ll/ll_config.h:
--------------------------------------------------------------------------------
1 | #ifndef LL_CONFIG_H_
2 | #define LL_CONFIG_H_
3 | #include
4 | #include "ll_port.h"
5 | #include "ll_external.h"
6 | #include "log.h"
7 | #include "compile_flag.h"
8 | extern void (*stack_assert_asm_fn)(uint32_t,uint32_t,uint32_t);
9 | #define LL_ASSERT_P(e,lvl,param0,param1) if(!(e)) stack_assert_asm_fn((lvl),(uint32_t)(param0),(uint32_t)(param1))
10 | #define LL_ASSERT(e,p0,p1) LL_ASSERT_P(e,LVL_ERROR,p0,p1)
11 | #define US2HCLK(x) (MAC_CLK_MHZ * (x))
12 |
13 | #endif
14 |
--------------------------------------------------------------------------------
/module/ble/ll/ll_external.h:
--------------------------------------------------------------------------------
1 | #ifndef LL_EXTERNAL_H_
2 | #define LL_EXTERNAL_H_
3 | #include
4 | #include
5 |
6 | extern uint32_t (*enter_critical_fn)(void);
7 |
8 | extern void (*exit_critical_fn)(uint32_t);
9 |
10 | extern void *(*ll_malloc_fn)(size_t);
11 |
12 | extern void (*ll_free_fn)(void *);
13 |
14 | extern uint32_t (*ble_hclk2lpclk_fn)(uint32_t);
15 |
16 | extern uint32_t (*ble_lpclk2hclk_fn)(uint32_t);
17 |
18 | extern void (*io_set_pin_fn)(uint8_t);
19 |
20 | extern void (*io_clr_pin_fn)(uint8_t);
21 | #endif
22 |
--------------------------------------------------------------------------------
/module/ble/ll/ll_sched.h:
--------------------------------------------------------------------------------
1 | #ifndef LL_SCHED_H_
2 | #define LL_SCHED_H_
3 |
4 | void ll_invoke(void (*func)(void *),void *param);
5 |
6 | void ll_schedule(void);
7 |
8 | void swint2_set(void);
9 |
10 | void swint2_post(void (*func)(void *),void *param);
11 |
12 | void swint2_process(void);
13 |
14 |
15 | #endif
16 |
17 |
--------------------------------------------------------------------------------
/module/ble/ll/white_list.h:
--------------------------------------------------------------------------------
1 | #ifndef WHITE_LIST_H_
2 | #define WHITE_LIST_H_
3 | #include
4 | #include "hci_format.h"
5 | #include "co_error.h"
6 | #include "dev_addr_cache.h"
7 | extern uint8_t white_list_size;
8 |
9 | bool white_list_search(uint8_t addr_type,uint8_t *addr);
10 |
11 | enum co_error le_clear_white_list(void);
12 |
13 | enum co_error le_add_dev_to_white_list(struct ble_dev_addr *param);
14 |
15 | enum co_error le_remove_dev_from_white_list(struct ble_dev_addr *param);
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/module/ble/ls_sys.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_SYS_H_
2 | #define LS_SYS_H_
3 |
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 |
8 | /** \brief Post a function to be called in the main loop with specific parameter
9 | * \param[in] func The pointer to the function
10 | * \param[in] param The pointer of the object with global lifecycle that will be passed to func
11 | */
12 | void func_post(void (*func)(void *),void *param);
13 |
14 | void rtos_ble_task_func_post(void (*func)(void *),void *param);
15 |
16 | #ifdef __cplusplus
17 | }
18 | #endif
19 |
20 | #endif
21 |
22 |
--------------------------------------------------------------------------------
/module/common/async_call.h:
--------------------------------------------------------------------------------
1 | #ifndef ASYNC_CALL_H_
2 | #define ASYNC_CALL_H_
3 | #include "fifo.h"
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | struct async_call_param
10 | {
11 | void (*func)(void *);
12 | void *param;
13 | };
14 |
15 | void async_call(void (*func)(void *),void *param,struct fifo_env *fifo);
16 |
17 | bool async_process(struct fifo_env *fifo);
18 |
19 | #ifdef __cplusplus
20 | }
21 | #endif
22 |
23 | #endif
24 |
--------------------------------------------------------------------------------
/module/common/sw_timer_int.h:
--------------------------------------------------------------------------------
1 | #ifndef SW_TIMER_INT_H_
2 | #define SW_TIMER_INT_H_
3 | #include
4 | #include
5 | #include "sw_timer.h"
6 |
7 | #ifdef __cplusplus
8 | extern "C" {
9 | #endif
10 |
11 | sw_timer_time_t timer_time_add(sw_timer_time_t a,sw_timer_time_t b);
12 |
13 | int timer_time_compare(sw_timer_time_t a,sw_timer_time_t b);
14 |
15 | sw_timer_time_t timer_time_get(void);
16 |
17 | void timer_match_set(sw_timer_time_t match);
18 |
19 | void timer_irq_unmask(void);
20 |
21 | void timer_irq_mask(void);
22 |
23 | void timer_irq_clr(void);
24 |
25 | void timer_setup(void (*isr)());
26 |
27 | #ifdef __cplusplus
28 | }
29 | #endif
30 |
31 | #endif
--------------------------------------------------------------------------------
/module/crc/crc16.h:
--------------------------------------------------------------------------------
1 | #ifndef CRC16_H_
2 | #define CRC16_H_
3 | #include
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | uint16_t crc16ccitt(uint16_t crc,const void *in_data,uint32_t len);
10 |
11 | #ifdef __cplusplus
12 | }
13 | #endif
14 |
15 | #endif
16 |
17 |
--------------------------------------------------------------------------------
/module/micro-ecc/.gitignore:
--------------------------------------------------------------------------------
1 | __build__/
2 | __pycache__
3 | *.pyc
4 | *.pyo
5 | *.pyd
6 | *.pyz
7 | *.egg-info/
8 | .DS_Store
--------------------------------------------------------------------------------
/module/micro-ecc/emk_rules.py:
--------------------------------------------------------------------------------
1 | c, link = emk.module("c", "link")
2 |
3 | emk.subdir("test")
4 |
--------------------------------------------------------------------------------
/module/micro-ecc/library.properties:
--------------------------------------------------------------------------------
1 | name=micro-ecc
2 | version=1.0.0
3 | author=Kenneth MacKay
4 | maintainer=Kenneth MacKay
5 | sentence=uECC
6 | paragraph=A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors.
7 | category=Other
8 | url=https://github.com/kmackay/micro-ecc
9 | architectures=*
10 |
--------------------------------------------------------------------------------
/module/micro-ecc/test/emk_rules.py:
--------------------------------------------------------------------------------
1 | c, link = emk.module("c", "link")
2 | link.depdirs += [
3 | "$:proj:$"
4 | ]
5 |
--------------------------------------------------------------------------------
/module/settings/inflash_settings.h:
--------------------------------------------------------------------------------
1 | #ifndef INFLASH_SETTINGS_H_
2 | #define INFLASH_SETTINGS_H_
3 | #include
4 | #include
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | struct setting_info
11 | {
12 | uint32_t start;
13 | uint16_t range;
14 | uint8_t size_by_word;
15 | };
16 |
17 | void settings_set(const struct setting_info *info,uint32_t *data);
18 |
19 | bool settings_get(const struct setting_info *info,uint32_t *data,uint32_t *valid_offset);
20 |
21 | void settings_make_invalid(const struct setting_info *info);
22 |
23 | #ifdef __cplusplus
24 | }
25 | #endif
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/module/settings/ota_settings.h:
--------------------------------------------------------------------------------
1 | #ifndef OTA_SETTINGS_H_
2 | #define OTA_SETTINGS_H_
3 | #include
4 | #include
5 | #include "prf_fotas.h"
6 |
7 | #ifdef __cplusplus
8 | extern "C" {
9 | #endif
10 |
11 | void ota_settings_erase(void);
12 |
13 | bool ota_settings_erase_req_get(void);
14 |
15 | void ota_settings_erase_req_set(void);
16 |
17 | bool ota_boot_addr_get(uint32_t *addr);
18 |
19 | void ota_boot_addr_set(uint32_t addr);
20 |
21 | bool ota_copy_info_get(struct fota_copy_info *ptr);
22 |
23 | void ota_copy_info_set(struct fota_copy_info *ptr);
24 |
25 | void ota_copy_done_set(void);
26 |
27 | #ifdef __cplusplus
28 | }
29 | #endif
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/module/tinycrypt/.gitignore:
--------------------------------------------------------------------------------
1 | *.o
2 | *~
3 | *.d
4 | *.exe
5 | *.a
6 |
--------------------------------------------------------------------------------
/module/tinycrypt/AUTHORS:
--------------------------------------------------------------------------------
1 | Architect:
2 | Rafael Misoczki
3 |
4 | Open Source Maintainer:
5 | Rafael Misoczki
6 |
7 | Contributors:
8 | Rafael Misoczki
9 | Constanza Heath
10 | Flavio Santes
11 | Jarkko Sakkinen
12 | Chris Morrison
13 | Marti Bolivar
14 | Colin Ian King
15 |
--------------------------------------------------------------------------------
/module/tinycrypt/Makefile:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | #
3 | # Copyright (C) 2017 by Intel Corporation, All Rights Reserved.
4 | #
5 | # Global Makefile.
6 | # See lib/Makefile and tests/Makefile for further configuration.
7 | #
8 | ################################################################################
9 | include config.mk
10 |
11 | all:
12 | $(MAKE) -C lib
13 | ifeq ($(ENABLE_TESTS),true)
14 | $(MAKE) -C tests
15 | endif
16 |
17 | clean:
18 | $(MAKE) -C lib clean
19 | $(MAKE) -C tests clean
20 | $(RM) *~
21 |
22 |
--------------------------------------------------------------------------------
/module/tinycrypt/VERSION:
--------------------------------------------------------------------------------
1 | 0.2.8
2 |
--------------------------------------------------------------------------------
/module/tinycrypt/tests/pseudo-random-data.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/module/tinycrypt/tests/pseudo-random-data.bin
--------------------------------------------------------------------------------
/module/tinyfs/tinyfs_config.h:
--------------------------------------------------------------------------------
1 | #ifndef TINYFS_CONFIG_H_
2 | #define TINYFS_CONFIG_H_
3 | #include "sdk_config.h"
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | #define TINYFS_NODE_MAX ((SDK_BLE_STORAGE_PEER_MAX)*3 + 4 + SDK_USER_TINYFS_NODE_MAX)
10 | // 4 : ecc_priv_key + static_rand_addr + local_irk + folder
11 | #define TINYFS_SECTION_NUM 3
12 |
13 | #if (TINYFS_SECTION_NUM<3)
14 | #error TINYFS_SECTION_NUM must be greater than or equal to 3
15 | #endif
16 |
17 | #define TINYFS_SECTION_SIZE (0x1000)
18 | #if (TINYFS_SECTION_SIZE % (0x1000))
19 | #error TINYFS_SECTION_SIZE must be multiple of 4KBytes
20 | #endif
21 |
22 | #ifdef __cplusplus
23 | }
24 | #endif
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/module/tinyfs/tinyfs_nvm.c:
--------------------------------------------------------------------------------
1 | #include "tinyfs_nvm.h"
2 | #include "ls_hal_flash.h"
3 |
4 | void (* const nvm_program)(uint32_t,uint8_t *,uint16_t) = hal_flash_quad_page_program;
5 | void (* const nvm_read)(uint32_t, uint8_t *, uint16_t) = hal_flash_quad_io_read;
6 | void (* const nvm_sector_ease)(uint32_t) = hal_flash_sector_erase;
7 |
--------------------------------------------------------------------------------
/module/tinyfs/tinyfs_nvm.h:
--------------------------------------------------------------------------------
1 | #ifndef TINYFS_NVM_H_
2 | #define TINYFS_NVM_H_
3 | #include
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | extern void (*const nvm_program)(uint32_t,uint8_t *,uint16_t);
10 | extern void (*const nvm_read)(uint32_t, uint8_t *, uint16_t);
11 | extern void (*const nvm_sector_ease)(uint32_t);
12 |
13 | #ifdef __cplusplus
14 | }
15 | #endif
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/module/tinyfs/tinyfs_write_cache.h:
--------------------------------------------------------------------------------
1 | #ifndef TINYFS_WRITE_CACHE_H_
2 | #define TINYFS_WRITE_CACHE_H_
3 | #include
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | #define TINYFS_WRITE_CACHE_SIZE 256
10 | void tinyfs_nvm_program(uint32_t offset,uint32_t length,uint8_t *buffer);
11 | void tinyfs_nvm_read_with_cache(uint32_t offset, uint32_t length, uint8_t *buffer);
12 | void tinyfs_nvm_write_through(void);
13 |
14 | #ifdef __cplusplus
15 | }
16 | #endif
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/readme.txt:
--------------------------------------------------------------------------------
1 | # 发布版本
2 | - le501x_sdk_2.0
3 | 1. 发布时间 2023-1-18
4 | 2. release/v2.0 @ cdb28e68
5 | 3. 支持ARM-GCC/MDK-ARM/IAR三种编译环境。
6 | 4. 含有丰富的外设和BLE/MESH例程。
7 | 5. add: des/tdes
8 | 6. fix bug:sm4/iic_slave_freq_config/fota/lowpower/ssi_dma/other
9 |
10 | - le501x_sdk_2.01
11 | 1. 发布时间 2023-2-8
12 | 2. release/v2.0 @ 3968cf46
13 | 3. fix bug:ble_ancs/ls_hid/ble_mutl_services/other
14 |
15 | - le501x_sdk_2.02
16 | 1. 发布时间 2023-2-13
17 | 2. release/v2.0 @ 3968cf46
18 | 3. 解决tmall_mesh_gatt、ls_prop_24g等工程编译问题
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | ecdsa
2 | scons
3 | intelhex
--------------------------------------------------------------------------------
/soc/arm_cm/instructions.h:
--------------------------------------------------------------------------------
1 | #ifndef INSTRUCTIONS_H_
2 | #define INSTRUCTIONS_H_
3 | #include
4 | #include
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | uint32_t b_bl_instruction_32_generate(uint32_t src_addr,uint32_t dst_addr,bool link);
11 |
12 | #ifdef __cplusplus
13 | }
14 | #endif
15 | #endif
16 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/bram.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/bram.bin
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/findmy_libfw.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/findmy_libfw.o
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/libfw.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/libfw.o
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/lible5030_tk.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/lible5030_tk.a
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/libll_fw.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/libll_fw.a
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/libll_fw_legacy.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/libll_fw_legacy.a
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/libmesh.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/libmesh.o
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/mible_libfw.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/mible_libfw.o
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/prop_24g_lib.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/prop_24g_lib.o
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/bin/rssi_smth_algo.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/bin/rssi_smth_algo.o
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/armcc/ble.ld:
--------------------------------------------------------------------------------
1 | #! armcc -E
2 |
3 | #define FLASH_BASE_USER 0x18034000
4 | #include "common.ld"
5 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/armcc/delay_asm.S:
--------------------------------------------------------------------------------
1 | PRESERVE8
2 | THUMB
3 | AREA |.xip_banned.arm_cm_delay_asm|, CODE, READONLY
4 | FRAME UNWIND ON
5 | arm_cm_delay_asm PROC
6 | EXPORT arm_cm_delay_asm
7 | SUBS r0,r0,#1
8 | CMP r0,#0
9 | BNE arm_cm_delay_asm
10 | BX LR
11 | ENDP
12 |
13 | END
14 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/armcc/mcu.ld:
--------------------------------------------------------------------------------
1 | #! armcc -E
2 |
3 | #define FLASH_BASE_USER 0x18002000
4 | #include "common.ld"
5 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/armcc/mesh.ld:
--------------------------------------------------------------------------------
1 | #! armcc -E
2 |
3 | #define FLASH_BASE_USER 0x18056000
4 | #include "common.ld"
5 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/armcc/portasm.S:
--------------------------------------------------------------------------------
1 | THUMB
2 | END
3 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/armcc/stack_asm.S:
--------------------------------------------------------------------------------
1 | PRESERVE8
2 | THUMB
3 | AREA |.text.stack_assert_asm|, CODE, READONLY
4 | FRAME UNWIND ON
5 | stack_assert_asm PROC
6 | EXPORT stack_assert_asm
7 | IMPORT stack_assert_c
8 | PUSH {LR}
9 | FRAME PUSH {LR}
10 | MOV R3,LR
11 | BL stack_assert_c
12 | POP {PC}
13 | ENDP
14 |
15 | END
16 |
17 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/gnu/ble.ld:
--------------------------------------------------------------------------------
1 | MEMORY
2 | {
3 | RAM (rwx) : ORIGIN = 0x0000, LENGTH = 0xc000
4 | FLASH (rx) : ORIGIN = 0x18034000, LENGTH = 0x80000
5 | }
6 |
7 | INCLUDE common.ld
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/gnu/delay_asm.S:
--------------------------------------------------------------------------------
1 | .syntax unified
2 | .arch armv6-m
3 | #if (ROM_CODE==1 || BOOT_RAM==1 || defined(FLASH_PROG_ALGO))
4 | .section .text.arm_cm_delay_asm,"x"
5 | #else
6 | .section .xip_banned,"ax"
7 | #endif
8 | .thumb
9 | .thumb_func
10 | .align 1
11 | .globl arm_cm_delay_asm
12 | .type arm_cm_delay_asm,%function
13 | arm_cm_delay_asm:
14 | SUBS r0,r0,0x1
15 | CMP r0,0x0
16 | BNE arm_cm_delay_asm
17 | BX LR
18 |
19 | .size arm_cm_delay_asm, . - arm_cm_delay_asm
20 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/gnu/mcu.ld:
--------------------------------------------------------------------------------
1 | MEMORY
2 | {
3 | RAM (rwx) : ORIGIN = 0x0000, LENGTH = 0xc000
4 | FLASH (rx) : ORIGIN = 0x18002000, LENGTH = 0x80000
5 | }
6 |
7 | INCLUDE common.ld
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/gnu/mesh.ld:
--------------------------------------------------------------------------------
1 | MEMORY
2 | {
3 | RAM (rwx) : ORIGIN = 0x0000, LENGTH = 0xc000
4 | FLASH (rx) : ORIGIN = 0x18056000, LENGTH = 0x80000
5 | }
6 |
7 | INCLUDE common.ld
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/gnu/portasm.S:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/soc/arm_cm/le501x/compiler/gnu/portasm.S
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/gnu/stack_asm.S:
--------------------------------------------------------------------------------
1 | .syntax unified
2 | .arch armv6-m
3 |
4 | .thumb
5 | .thumb_func
6 | .align 1
7 | .globl stack_assert_asm
8 | .type stack_assert_asm,%function
9 | stack_assert_asm:
10 |
11 | PUSH {LR}
12 | MOV R3,LR
13 | BL stack_assert_c
14 | POP {PC}
15 |
16 | .end
17 |
18 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/gnu/swint_asm.S:
--------------------------------------------------------------------------------
1 | .syntax unified
2 | .arch armv6-m
3 |
4 | .section .text.SWINT_Handler_ASM
5 | .align 1
6 | .globl SWINT_Handler_ASM
7 | .type SWINT_Handler_ASM,%function
8 | SWINT_Handler_ASM:
9 | MOVS R0,#4
10 | MOV R1,LR
11 | TST R0,R1
12 | BEQ stacking_used_MSP
13 | mrs r0,psp
14 | b SWINT_C_Routine
15 | stacking_used_MSP:
16 | mrs r0,msp
17 | SWINT_C_Routine:
18 | mov r1,r4
19 | ldr r2,=SWINT_Handler_C
20 | bx r2
21 |
22 | .size SWINT_Handler_ASM, . - SWINT_Handler_ASM
23 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/iar/ble.ld:
--------------------------------------------------------------------------------
1 | define memory mem with size = 4G;
2 |
3 | define region RAM = mem: [from 0x0 to 0xc000];
4 | define region FLASH = mem: [from 0x18034000 to 0x18080000];
5 | define symbol __data_start__ = 0x750;
6 |
7 | include "common.ld";
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/iar/common.ld:
--------------------------------------------------------------------------------
1 |
2 | initialize by copy with packing = none {section .intvec,section __iar_init$$done.xip_banned*,rw};
3 | place at start of RAM {section .intvec};
4 | place at address mem:__data_start__ {rw};
5 | place at start of FLASH {section .intvec_init};
6 | place in FLASH {ro};
7 |
8 | define block HEAP with alignment = 4,size = 0x200 {};
9 | define block RESET_RETAIN with alignment = 4,size = 8 {};
10 | define block CSTACK with alignment = 4,size = 0x1000 {};
11 | place in RAM {block HEAP,block RESET_RETAIN, block CSTACK};
12 | "dmacs": place noload at end of RAM {section DMARAM, section DMAC1};
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/iar/delay_asm.S:
--------------------------------------------------------------------------------
1 | MODULE delay_asm
2 | PUBLIC arm_cm_delay_asm
3 | SECTION `__iar_init$$done.xip_banned.arm_cm_delay_asm`:CODE
4 | THUMB
5 | arm_cm_delay_asm
6 | SUBS r0,r0,#1
7 | CMP r0,#0
8 | BNE arm_cm_delay_asm
9 | BX LR
10 |
11 | END
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/iar/mcu.ld:
--------------------------------------------------------------------------------
1 | define memory mem with size = 4G;
2 |
3 | define region RAM = mem: [from 0x0 to 0xc000];
4 | define region FLASH = mem: [from 0x18002000 to 0x18080000];
5 | define symbol __data_start__ = 0xc0;
6 |
7 | include "common.ld";
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/iar/mesh.ld:
--------------------------------------------------------------------------------
1 | define memory mem with size = 4G;
2 |
3 | define region RAM = mem: [from 0x0 to 0xc000];
4 | define region FLASH = mem: [from 0x18056000 to 0x18080000];
5 | define symbol __data_start__ = 0x848;
6 |
7 | include "common.ld";
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/iar/stack_asm.S:
--------------------------------------------------------------------------------
1 | MODULE stack_asm
2 | PUBLIC stack_assert_asm
3 | EXTERN stack_assert_c
4 | SECTION `.text.stack_assert_asm`:CODE
5 | THUMB
6 | stack_assert_asm
7 | PUSH {LR}
8 | MOV R3,LR
9 | BL stack_assert_c
10 | POP {PC}
11 |
12 | END
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/compiler/iar/swint_asm.S:
--------------------------------------------------------------------------------
1 | MODULE swint_asm
2 | PUBLIC SWINT_Handler_ASM
3 | EXTERN SWINT_Handler_C
4 | SECTION `.text.SWINT_Handler_ASM`:CODE
5 | THUMB
6 | SWINT_Handler_ASM
7 | MOVS R0,#4
8 | MOV R1,LR
9 | TST R0,R1
10 | BEQ stacking_used_MSP
11 | mrs r0,psp
12 | b SWINT_C_Routine
13 | stacking_used_MSP
14 | mrs r0,msp
15 | SWINT_C_Routine
16 | mov r1,r4
17 | ldr r2,=SWINT_Handler_C
18 | bx r2
19 |
20 | END
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/calc_acc.c:
--------------------------------------------------------------------------------
1 | #include "field_manipulate.h"
2 | #include "reg_rcc.h"
3 |
4 | void calc_acc_init()
5 | {
6 | REG_FIELD_WR(RCC->APB1RST, RCC_CALC, 1);
7 | REG_FIELD_WR(RCC->APB1RST, RCC_CALC, 0);
8 | REG_FIELD_WR(RCC->APB1EN, RCC_CALC, 1);
9 | }
10 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/calc_acc.h:
--------------------------------------------------------------------------------
1 | #ifndef CALC_ACC_H_
2 | #define CALC_ACC_H_
3 |
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 |
8 | void calc_acc_init(void);
9 |
10 | #ifdef __cplusplus
11 | }
12 | #endif
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_cache.c:
--------------------------------------------------------------------------------
1 | #include "reg_rcc.h"
2 | #include "field_manipulate.h"
3 | #include "compile_flag.h"
4 |
5 | void XIP_BANNED_FUNC(lscache_msp_init,)
6 | {
7 | REG_FIELD_WR(RCC->AHBRST, RCC_CACHE, 1);
8 | REG_FIELD_WR(RCC->AHBRST, RCC_CACHE, 0);
9 | REG_FIELD_WR(RCC->AHBEN,RCC_CACHE,1);
10 | REG_FIELD_WR(RCC->APB2EN,RCC_APB_CACHE, 1);
11 | }
12 |
13 | void lscache_msp_deinit()
14 | {
15 | REG_FIELD_WR(RCC->AHBEN,RCC_CACHE,0);
16 | REG_FIELD_WR(RCC->APB2EN,RCC_APB_CACHE, 0);
17 | }
18 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_cache.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_MSP_CACHE_H_
2 | #define LS_MSP_CACHE_H_
3 | #include
4 | #include "reg_cache_type.h"
5 | #include "reg_base_addr.h"
6 |
7 | #ifdef __cplusplus
8 | extern "C" {
9 | #endif
10 |
11 | #define LSCACHE ((reg_lscache_t *)CACHE_BASE_ADDR)
12 |
13 | void lscache_msp_init(void);
14 |
15 | void lscache_msp_deinit(void);
16 |
17 | #ifdef __cplusplus
18 | }
19 | #endif
20 |
21 | #endif
22 |
23 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_crypt.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_MSP_CRYPT_H_
2 | #define LS_MSP_CRYPT_H_
3 | #include "reg_base_addr.h"
4 | #include "reg_crypt_type.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #ifdef LSCRYPT_BASE_ADDR
11 | /// LSCRYPT Macro for Register Access
12 | #define LSCRYPT ((reg_crypt_t *)LSCRYPT_BASE_ADDR)
13 | #endif
14 |
15 | void HAL_LSCRYPT_MSP_Init(void);
16 | void HAL_LSCRYPT_MSP_Busy_Set(void);
17 | void HAL_LSCRYPT_MSP_Idle_Set(void);
18 | void HAL_LSCRYPT_MSP_DeInit(void);
19 |
20 | #ifdef __cplusplus
21 | }
22 | #endif
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_ecc.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_MSP_ECC_H_
2 | #define LS_MSP_ECC_H_
3 | #include "reg_base_addr.h"
4 | #include "reg_ecc_type.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #define LSECC ((reg_ecc_t *)LSECC_BASE_ADDR)
11 |
12 | void HAL_LSECC_MSP_Init(void);
13 |
14 | void HAL_LSECC_MSP_DeInit(void);
15 |
16 | void HAL_LSECC_Busy_Set(void);
17 |
18 | void HAL_LSECC_Idle_Set(void);
19 |
20 | void HAL_LSECC_MSP_INT_ENABLE(void);
21 |
22 | void HAL_LSECC_MSP_INT_DISABLE(void);
23 |
24 | void HAL_LSECC_MSP_INT_CLRPENDING(void);
25 |
26 | #ifdef __cplusplus
27 | }
28 | #endif
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_iwdg.c:
--------------------------------------------------------------------------------
1 | #include "ls_msp_iwdg.h"
2 | #include "field_manipulate.h"
3 | #include "reg_rcc.h"
4 | void HAL_IWDG_MSP_Init()
5 | {
6 | REG_FIELD_WR(RCC->AHBEN, RCC_IWDT, 1);
7 | }
8 |
9 | void HAL_IWDG_MSP_DeInit()
10 | {
11 | REG_FIELD_WR(RCC->AHBEN, RCC_IWDT, 0);
12 | }
13 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_iwdg.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_MSP_IWDG_H_
2 | #define LS_MSP_IWDG_H_
3 | #include "reg_iwdg_type.h"
4 | #include "reg_base_addr.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #ifdef LSIWDG_BASE_ADDR
11 | #define LSIWDG ((reg_iwdg_t *)LSIWDG_BASE_ADDR) /*!< LSIWDG Macro for Register Access*/
12 | #endif
13 |
14 | void HAL_IWDG_MSP_Init(void);
15 |
16 | void HAL_IWDG_MSP_DeInit(void);
17 |
18 | #ifdef __cplusplus
19 | }
20 | #endif
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_pis.c:
--------------------------------------------------------------------------------
1 | #include "ls_msp_pis.h"
2 | #include "reg_rcc.h"
3 | #include "field_manipulate.h"
4 | void HAL_PIS_MSP_Init(void)
5 | {
6 | REG_FIELD_WR(RCC->APB2EN,RCC_PIS,1);
7 | }
8 |
9 | void HAL_PIS_MSP_DeInit(void)
10 | {
11 | REG_FIELD_WR(RCC->APB2EN,RCC_PIS,0);
12 | }
13 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_pis.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_MSP_PIS_H_
2 | #define LS_MSP_PIS_H_
3 | #include "reg_pis_type.h"
4 | #include "reg_base_addr.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | /// LSPIS Macro for Register Access
11 | #define LSPIS ((reg_pis_t *)LSPIS_BASE_ADDR)
12 |
13 | void HAL_PIS_MSP_Init(void);
14 |
15 | void HAL_PIS_MSP_DeInit(void);
16 |
17 | #ifdef __cplusplus
18 | }
19 | #endif
20 |
21 | #endif
22 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_qspi.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_MSP_QSPI_H_
2 | #define LS_MSP_QSPI_H_
3 | #include "reg_qspi_type.h"
4 | #include "reg_base_addr.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #define LSQSPI ((reg_lsqspi_t *)LSQSPI_BASE_ADDR)
11 |
12 | void lsqspi_msp_init(void);
13 |
14 | uint8_t lsqspi_rd_cap_dly_get(void);
15 |
16 | uint8_t lsqspi_baudrate_get(void);
17 |
18 | uint32_t lsqspi_dly_get(void);
19 |
20 | #ifdef __cplusplus
21 | }
22 | #endif
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_trng.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_MSP_TRNG_H_
2 | #define LS_MSP_TRNG_H_
3 | #include "reg_base_addr.h"
4 | #include "reg_trng_type.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #ifdef LSTRNG_BASE_ADDR
11 | #define LSTRNG ((reg_trng_t *)LSTRNG_BASE_ADDR) /*!< LSTRNG Macro for Register Access*/
12 | #endif
13 |
14 | void HAL_TRNG_MSP_Init(void);
15 | void HAL_TRNG_MSP_DeInit(void);
16 | void HAL_TRNG_MSP_Busy_Set(void);
17 | void HAL_TRNG_MSP_Idle_Set(void);
18 |
19 | #ifdef __cplusplus
20 | }
21 | #endif
22 |
23 | #endif
24 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_wwdg.c:
--------------------------------------------------------------------------------
1 | #include "ls_msp_wwdg.h"
2 | #include "field_manipulate.h"
3 | #include "reg_rcc.h"
4 |
5 | void HAL_WWDG_MSP_Init()
6 | {
7 | REG_FIELD_WR(RCC->APB1EN, RCC_WWDG, 1);
8 | }
9 |
10 | void HAL_WWDG_MSP_DeInit()
11 | {
12 | REG_FIELD_WR(RCC->APB1EN, RCC_WWDG, 0);
13 | }
14 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/ls_msp_wwdg.h:
--------------------------------------------------------------------------------
1 | #ifndef LS_MSP_WWDG_H_
2 | #define LS_MSP_WWDG_H_
3 | #include "reg_wwdg_type.h"
4 | #include "reg_base_addr.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #ifdef LSWWDT_BASE_ADDR
11 | #define LSWWDG ((reg_wwdg_t *)LSWWDT_BASE_ADDR) /*!< LSWWDG Macro for Register Access*/
12 | #endif
13 |
14 |
15 | void HAL_WWDG_MSP_Init(void);
16 |
17 | void HAL_WWDG_MSP_DeInit(void);
18 | #ifdef __cplusplus
19 | }
20 | #endif
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/modem_rf_le501x_24g.h:
--------------------------------------------------------------------------------
1 | #ifndef MODEM_RF_LE501X_24G_H_
2 | #define MODEM_RF_LE501X_24G_H_
3 | #include
4 | #include
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | void modem_rf_init_24g(void);
11 | void modem_rf_set_rx_phy(uint8_t phy);
12 | int8_t rf_rssi_convert_24g(uint8_t rssi_reg);
13 |
14 | #ifdef __cplusplus
15 | }
16 | #endif
17 |
18 | #endif
19 |
20 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/reg_gpio.h:
--------------------------------------------------------------------------------
1 | #ifndef REG_GPIO_H_
2 | #define REG_GPIO_H_
3 | #include "reg_gpio_type.h"
4 | #include "reg_exti_type.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #define LSGPIOA ((reg_lsgpio_t *)(0x48000000))
11 | #define LSGPIOB ((reg_lsgpio_t *)(0x48000400))
12 | #define LSGPIOC ((reg_lsgpio_t *)(0x48000800))
13 | #define EXTI ((reg_lsexti_t *)(0x40010400))
14 |
15 | #ifdef __cplusplus
16 | }
17 | #endif
18 |
19 | #endif //(REG_LSGPIO_H_)
20 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/reg_mdm2.h:
--------------------------------------------------------------------------------
1 | #ifndef REG_MDM2_H_
2 | #define REG_MDM2_H_
3 | #include "reg_mdm2_type.h"
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | #define MDM2 ((reg_mdm2_t *)0x40007800)
10 |
11 | #ifdef __cplusplus
12 | }
13 | #endif
14 |
15 | #endif
16 |
17 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/reg_rcc.h:
--------------------------------------------------------------------------------
1 | #ifndef REG_RCC_H_
2 | #define REG_RCC_H_
3 | #include "reg_rcc_type.h"
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | #define RCC ((reg_rcc_t *)0x40021000)
10 |
11 | #ifdef __cplusplus
12 | }
13 | #endif
14 |
15 | #endif
16 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/reg_rf.h:
--------------------------------------------------------------------------------
1 | #ifndef REG_RF_H_
2 | #define REG_RF_H_
3 | #include "reg_rf_type.h"
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | #define RF ((reg_rf_t *)0x40007400)
10 |
11 | #ifdef __cplusplus
12 | }
13 | #endif
14 |
15 | #endif
16 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/integration/reg_syscfg.h:
--------------------------------------------------------------------------------
1 | #ifndef REG_SYSCFG_H_
2 | #define REG_SYSCFG_H_
3 | #include "reg_syscfg_type.h"
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | #define SYSCFG ((reg_syscfg_t *)0x40021400)
10 |
11 | #ifdef __cplusplus
12 | }
13 | #endif
14 |
15 | #endif
16 |
--------------------------------------------------------------------------------
/soc/arm_cm/le501x/sw_timer_port.h:
--------------------------------------------------------------------------------
1 | #ifndef SW_TIMER_PORT_H_
2 | #define SW_TIMER_PORT_H_
3 | #include
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | typedef uint32_t sw_timer_time_t;
10 |
11 | #define MS_2_PERIOD(x) (2000*(uint64_t)(x)/625)
12 | #define PERIOD_2_MS(x) (625*(uint64_t)(x)/2000)
13 |
14 | #ifdef __cplusplus
15 | }
16 | #endif
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/soc/sdk_config.h:
--------------------------------------------------------------------------------
1 | #ifndef SDK_CONFIG_H_
2 | #define SDK_CONFIG_H_
3 | #include "app_config.h"
4 | #include "sdk_default_config.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #ifdef __cplusplus
11 | }
12 | #endif
13 |
14 | #endif
15 |
16 |
--------------------------------------------------------------------------------
/tools/arm-llvm.py:
--------------------------------------------------------------------------------
1 | from SCons.Tool import cc,cxx,ar,link
2 | import importlib
3 | assembler = importlib.import_module('SCons.Tool.as')
4 |
5 | def generate(env):
6 | cc.generate(env)
7 | cxx.generate(env)
8 | assembler.generate(env)
9 | ar.generate(env)
10 | link.generate(env)
11 | env['CC'] = 'clang'
12 | env['CXX'] = 'clang++'
13 | env['AS'] = 'clang'
14 | env['AR'] = 'llvm-ar'
15 | env['OBJDUMP'] = 'llvm-objdump'
16 | env['OBJCOPY'] = 'llvm-objcopy'
17 | env['NM'] = 'llvm-nm'
18 | env['READELF'] = 'llvm-readelf'
19 | env['PROGSUFFIX'] = '.elf'
20 |
21 | def exists(env):
22 | return True
--------------------------------------------------------------------------------
/tools/le501x/info.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/le501x/info.bin
--------------------------------------------------------------------------------
/tools/package/IAR/config/debugger/Linkedsemi/LM3050.dmac:
--------------------------------------------------------------------------------
1 | //
2 | // LM30xx device macros
3 | //
4 |
5 |
6 | execConfigureTraceETM()
7 | {
8 | __message "---- execConfigureTraceETM for the debugger ----\n";
9 | }
10 |
11 | execConfigureTraceSWO()
12 | {
13 | __message "---- execConfigureTraceSWO for the debugger ----\n";
14 | }
--------------------------------------------------------------------------------
/tools/package/IAR/config/devices/Linkedsemi/LE501X.i79:
--------------------------------------------------------------------------------
1 | [FILEFORMAT]
2 | rev=1.6
3 |
4 | [CHIP]
5 | name=LE501X
6 | endiansupport=le
7 | thumbsupport=true
8 | armsupport=false
9 | fpu=false
10 | SIMD=false
11 |
12 | JTAG=true
13 | RTCK=false
14 | SWD=true
15 | SWO_TraceD0=false
16 |
17 | [CORE]
18 | name=Cortex-M0
19 |
20 |
--------------------------------------------------------------------------------
/tools/package/IAR/config/devices/Linkedsemi/LE501X.menu:
--------------------------------------------------------------------------------
1 |
2 |
3 | LE501X
4 | Linkedsemi LE501X
5 | $CUR_DIR$\LE501X.i79
6 |
7 |
--------------------------------------------------------------------------------
/tools/package/IAR/config/devices/Linkedsemi/LM3050.i79:
--------------------------------------------------------------------------------
1 | [FILEFORMAT]
2 | rev=1.6
3 |
4 | [CHIP]
5 | name=LM3050
6 | endiansupport=le
7 | thumbsupport=true
8 | armsupport=false
9 | fpu=VFPv4
10 | SIMD=false
11 |
12 | DeviceMacros=$TOOLKIT_DIR$\config\debugger\Linkedsemi\LM3050.dmac
13 |
14 | JTAG=true
15 | RTCK=false
16 | SWD=true
17 | SWO_TraceD0=false
18 |
19 | [CORE]
20 | name=Cortex-M4
21 |
22 | [DDF FILE]
23 | name=Linkedsemi\LM3050.ddf
24 |
25 | [FLASH LOADER]
26 | little=$TOOLKIT_DIR$\config\flashloader\Linkedsemi\FlashLM3050.board
27 |
--------------------------------------------------------------------------------
/tools/package/IAR/config/devices/Linkedsemi/LM3050.menu:
--------------------------------------------------------------------------------
1 |
2 |
3 | LM3050
4 | Linkedsemi LM3050
5 | $CUR_DIR$\LM3050.i79
6 |
7 |
--------------------------------------------------------------------------------
/tools/package/IAR/config/flashloader/Linkedsemi/FlashLM3050.board:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CODE 0x00800000 0x0087FFFF
6 | $TOOLKIT_DIR$\config\flashloader\Linkedsemi\FlashLM3050.flash
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tools/package/IAR/config/flashloader/Linkedsemi/FlashLM3050.flash:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $TOOLKIT_DIR$\config\flashloader\Linkedsemi\FlashLM3050.out
5 | 256
6 | 128 0x1000
7 | 0x00800000
8 | $TOOLKIT_DIR$\config\flashloader\Linkedsemi\FlashLM3050.mac
9 | 1
10 | --erase
11 | "--erase" -erase chip.
12 |
13 |
--------------------------------------------------------------------------------
/tools/package/IAR/config/flashloader/Linkedsemi/FlashLM3050.mac:
--------------------------------------------------------------------------------
1 |
2 |
3 | execUserFlashInit() // Called by debugger before loading flash loader in RAM.
4 | {
5 | // __message "--- Start downloading \n";
6 | }
7 |
8 | execUserFlashExit() // Called by debugger on flashloader exit.
9 | {
10 | // __message "--- Resetting device \n";
11 | // __hwReset(0);
12 | }
13 |
--------------------------------------------------------------------------------
/tools/package/IAR/config/flashloader/Linkedsemi/FlashLM3050.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/package/IAR/config/flashloader/Linkedsemi/FlashLM3050.out
--------------------------------------------------------------------------------
/tools/package/IAR/使用说明.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/package/IAR/使用说明.txt
--------------------------------------------------------------------------------
/tools/package/JLink_Addon/Linkedsemi_Segger_Addon.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/package/JLink_Addon/Linkedsemi_Segger_Addon.exe
--------------------------------------------------------------------------------
/tools/package/JLink_Addon/使用说明.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/package/JLink_Addon/使用说明.txt
--------------------------------------------------------------------------------
/tools/package/MDK/Linkedsemi.DFP.1.0.0.pack:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/package/MDK/Linkedsemi.DFP.1.0.0.pack
--------------------------------------------------------------------------------
/tools/package/MDK/使用说明.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/package/MDK/使用说明.txt
--------------------------------------------------------------------------------
/tools/prog/LinkedSemi/LE501X.jlinkscript:
--------------------------------------------------------------------------------
1 | int ConfigTargetSettings(void) {
2 | JLINK_ExecCommand("SetRTTSearchRanges 0x0 0xc000");
3 | return 0;
4 | }
5 |
6 | int AfterResetTarget() {
7 | JLINK_MEM_WriteU32(0x40021004,0x80000008);
8 | JLINK_MEM_WriteU32(0x40021040,0x00000608);
9 | return 0;
10 | }
11 |
--------------------------------------------------------------------------------
/tools/prog/LinkedSemi/le501x_flash_algo.elf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/prog/LinkedSemi/le501x_flash_algo.elf
--------------------------------------------------------------------------------
/tools/prog/LinkedSemi/le503x_tk_algo.elf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/prog/LinkedSemi/le503x_tk_algo.elf
--------------------------------------------------------------------------------
/tools/prog/LinkedSemi/lm3050_flash_algo.elf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/prog/LinkedSemi/lm3050_flash_algo.elf
--------------------------------------------------------------------------------
/tools/rspfile.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import re
3 | from SCons.Subst import quote_spaces
4 | WINPATHSEP_RE = re.compile(r"\\([^\"'\\]|$)")
5 | def tempfile_arg_esc_func(arg):
6 | arg = quote_spaces(arg)
7 | if sys.platform != "win32":
8 | return arg
9 | # GCC requires double Windows slashes, let's use UNIX separator
10 | return WINPATHSEP_RE.sub(r"/\1", arg)
11 |
12 | def link_by_rspfile(env):
13 | env["TEMPFILEARGESCFUNC"] = tempfile_arg_esc_func
14 | env['LINKCOM'] = "${TEMPFILE('%s')}" % env['LINKCOM']
15 |
--------------------------------------------------------------------------------
/tools/signing/readme.txt:
--------------------------------------------------------------------------------
1 | If you do not have a pair of signing/verifying keys, start from Step 1 to derive keys. Copy the verifying key to your firmware project. Keep your signing key properly.
2 |
3 | If you have already generated a pair of keys, jump to Step 2 for signature.
4 |
5 | Step 1:
6 |
7 | python3 key_gen.py
8 |
9 | Step 2:
10 |
11 | python3 signing.py [ota_firmware].bin signing_key.pem
12 |
13 |
--------------------------------------------------------------------------------
/tools/signing/signing.py:
--------------------------------------------------------------------------------
1 | from ecdsa import SigningKey, NIST256p
2 | import sys
3 | import shutil
4 | import hashlib
5 | import subprocess
6 | import os
7 |
8 | def save_to_file(file_name, contents):
9 | fh = open(file_name, 'wb')
10 | fh.write(contents)
11 | fh.close()
12 |
13 | def load_file(file_name):
14 | fh = open(file_name,'rb')
15 | return fh.read()
16 |
17 | sk_pem = load_file(sys.argv[2])
18 | sk = SigningKey.from_pem(sk_pem)
19 |
20 | message = load_file(sys.argv[1])
21 | signature = sk.sign_deterministic(message,hashfunc = hashlib.sha256)
22 | save_to_file('signature.bin',signature)
23 |
--------------------------------------------------------------------------------
/tools/srec_cat.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linkedsemi/LS_SDK/ec4fd7f91d4c7a36ccf1d377c0d47480cae88849/tools/srec_cat.exe
--------------------------------------------------------------------------------