├── .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 --------------------------------------------------------------------------------