├── LICENSE ├── README.md ├── _config.yml ├── doc ├── AN00124_-USB-CDC-Class-as-Virtual-Serial-Port_2.0.2rc1.pdf ├── ARM Debug Interface v5 Architecture Specification.pdf ├── IEEE_1149_JTAG_and_Boundary_Scan_Tutorial.pdf ├── Serial_Wire_Debug.pdf ├── debug.png ├── debug_esp32.md ├── iar_cmsis_dap.png ├── iar_debugger.png ├── ide_guide.md ├── idf_configure.png ├── idf_gdb.png ├── idf_monitor.png ├── idf_openocd.png ├── idf_python.png ├── idf_start.png ├── idf_verify.png ├── libusb_driver.png ├── mdk.png ├── openocd.png ├── pyocd.png └── usb_interface.png ├── hardware ├── vllink_basic │ └── hardware.version1 │ │ ├── testpoint.pdf │ │ ├── vllink_basic-F_Fab.pdf │ │ ├── vllink_basic.20211123.interface.png │ │ ├── vllink_basic.20211123.top.png │ │ ├── vllink_basic.board.pdf │ │ └── vllink_basic.pdf ├── vllink_highspeed.r0 │ ├── gerber │ │ ├── PCB 工艺.txt │ │ ├── vllink_highspeed.r0-B_Cu.gbr │ │ ├── vllink_highspeed.r0-B_Mask.gbr │ │ ├── vllink_highspeed.r0-B_Paste.gbr │ │ ├── vllink_highspeed.r0-B_SilkS.gbr │ │ ├── vllink_highspeed.r0-Edge_Cuts.gbr │ │ ├── vllink_highspeed.r0-F_Cu.gbr │ │ ├── vllink_highspeed.r0-F_Mask.gbr │ │ ├── vllink_highspeed.r0-F_Paste.gbr │ │ ├── vllink_highspeed.r0-F_SilkS.gbr │ │ ├── vllink_highspeed.r0-NPTH.drl │ │ └── vllink_highspeed.r0-PTH.drl │ ├── vllink_highspeed.r0-bottom-pos.csv │ ├── vllink_highspeed.r0-top-pos.csv │ ├── vllink_highspeed.r0.bottom.png │ ├── vllink_highspeed.r0.csv │ ├── vllink_highspeed.r0.kicad_pcb │ ├── vllink_highspeed.r0.pdf │ ├── vllink_highspeed.r0.pro │ ├── vllink_highspeed.r0.sch │ ├── vllink_highspeed.r0.top.png │ ├── vllink_highspeed.r0.top45.png │ └── vllink_highspeed.r0.xls ├── vllink_highspeed.r1 │ ├── gerber │ │ ├── vllink_highspeed.r1-Bottom_Cu.gbr │ │ ├── vllink_highspeed.r1-Bottom_Mask.gbr │ │ ├── vllink_highspeed.r1-Bottom_Paste.gbr │ │ ├── vllink_highspeed.r1-Bottom_Silk.gbr │ │ ├── vllink_highspeed.r1-EdgeCuts.gbr │ │ ├── vllink_highspeed.r1-NPTH.drl │ │ ├── vllink_highspeed.r1-PTH.drl │ │ ├── vllink_highspeed.r1-Top_Cu.gbr │ │ ├── vllink_highspeed.r1-Top_Mask.gbr │ │ ├── vllink_highspeed.r1-Top_Paste.gbr │ │ ├── vllink_highspeed.r1-Top_Silk.gbr │ │ └── vllink_highspeed.r1_gerber.zip │ ├── hardware_calc.xls │ ├── vllink_highspeed.r1.bottom.png │ ├── vllink_highspeed.r1.kicad_pcb │ ├── vllink_highspeed.r1.pdf │ ├── vllink_highspeed.r1.pro │ ├── vllink_highspeed.r1.sch │ ├── vllink_highspeed.r1.top.png │ ├── vllink_highspeed.r1.top45.png │ ├── vllink_highspeed.r1_BOM.csv │ └── vllink_highspeed.r1_POS.csv ├── vllink_lite.r3 │ ├── datasheet │ │ ├── GD32F350xx_Datasheet_Rev1.1.pdf │ │ ├── ams1117.pdf │ │ └── w25q64jv spi revc 06032016 kms.pdf │ ├── firmware │ │ ├── vllink_lite_app_0x08003000.bin │ │ ├── vllink_lite_bootloader_12KB.bin │ │ └── vllink_lite_firmware.full.bin │ ├── gerber │ │ ├── PCB 工艺.txt │ │ ├── vllink_lite.r3-B_Cu.gbr │ │ ├── vllink_lite.r3-B_Mask.gbr │ │ ├── vllink_lite.r3-B_Paste.gbr │ │ ├── vllink_lite.r3-B_SilkS.gbr │ │ ├── vllink_lite.r3-Edge_Cuts.gbr │ │ ├── vllink_lite.r3-F_Cu.gbr │ │ ├── vllink_lite.r3-F_Mask.gbr │ │ ├── vllink_lite.r3-F_Paste.gbr │ │ ├── vllink_lite.r3-F_SilkS.gbr │ │ ├── vllink_lite.r3-NPTH.drl │ │ ├── vllink_lite.r3-PTH.drl │ │ ├── vllink_lite.r3-bottom-pos.csv │ │ ├── vllink_lite.r3-job.gbrjob │ │ └── vllink_lite.r3-top-pos.csv │ ├── speed_test.md │ ├── vllink_lite.pretty │ │ ├── C_0603_1608Metric.kicad_mod │ │ ├── LED_D3.0mm-3.kicad_mod │ │ ├── LQFP-48_7x7mm_P0.5mm.kicad_mod │ │ ├── L_0603_1608Metric.kicad_mod │ │ ├── PinHeader_1x02_P2.54mm_Vertical.kicad_mod │ │ ├── PinHeader_1x05_P2.54mm_Vertical.kicad_mod │ │ ├── PinSocket_1x5_P2.54mm_SMD.kicad_mod │ │ ├── QFN-28-1EP_4x4mm_P0.4mm_EP2.7x2.7mm.kicad_mod │ │ ├── R_0603_1608Metric.kicad_mod │ │ ├── SOIC-8_5.23x5.23mm_P1.27mm.kicad_mod │ │ ├── SOT-223-3_TabPin2.kicad_mod │ │ ├── SW_PUSH_4.5mm_Hxx.kicad_mod │ │ ├── TestPoint_Pad_D1.0mm.kicad_mod │ │ ├── USB_Mini-B_Lumberg_2486_01_Horizontal.kicad_mod │ │ └── love_log.kicad_mod │ ├── vllink_lite.r3-cache.lib │ ├── vllink_lite.r3.bom.csv │ ├── vllink_lite.r3.bottom.png │ ├── vllink_lite.r3.kicad_pcb │ ├── vllink_lite.r3.pcba.png │ ├── vllink_lite.r3.pdf │ ├── vllink_lite.r3.pro │ ├── vllink_lite.r3.sch │ ├── vllink_lite.r3.top.png │ └── vllink_lite.r3.top_rotate.png ├── vllink_lite.r4.gd32e103cx │ ├── vllink_lite.r4.gd32e103cx.kicad_pcb │ ├── vllink_lite.r4.gd32e103cx.pdf │ ├── vllink_lite.r4.gd32e103cx.pro │ ├── vllink_lite.r4.gd32e103cx.sch │ ├── vllink_lite.r4.gd32e103cx_BOM.csv │ ├── vllink_lite.r4.gd32e103cx_POS.csv │ └── vllink_lite.r4.gd32e103cx_gerber.zip ├── vllink_lite.r4.gd32e103tx │ ├── ams1117-adj.png │ ├── vllink_lite.r4.gd32e103tx.kicad_pcb │ ├── vllink_lite.r4.gd32e103tx.pcba.png │ ├── vllink_lite.r4.gd32e103tx.pdf │ ├── vllink_lite.r4.gd32e103tx.pro │ ├── vllink_lite.r4.gd32e103tx.sch │ ├── vllink_lite.r4.gd32e103tx_BOM.csv │ ├── vllink_lite.r4.gd32e103tx_POS.csv │ └── vllink_lite.r4.gd32e103tx_gerber.zip ├── vllink_lite.r4.gd32f350xx │ ├── vllink_lite.r4.gd32f350xx.bottom.png │ ├── vllink_lite.r4.gd32f350xx.kicad_pcb │ ├── vllink_lite.r4.gd32f350xx.pdf │ ├── vllink_lite.r4.gd32f350xx.pro │ ├── vllink_lite.r4.gd32f350xx.sch │ ├── vllink_lite.r4.gd32f350xx.top.png │ ├── vllink_lite.r4.gd32f350xx.top45.png │ ├── vllink_lite.r4.gd32f350xx_BOM.csv │ ├── vllink_lite.r4.gd32f350xx_POS.csv │ └── vllink_lite.r4.gd32f350xx_gerber.zip └── vllink_lite.r5.esp32s2 │ ├── vllink_lite.r5.esp32s2.kicad_pcb │ ├── vllink_lite.r5.esp32s2.pro │ └── vllink_lite.r5.esp32s2.sch └── vsf ├── cmake ├── extensions.cmake └── gnuarmemb.cmake ├── vsf ├── CMakeLists.txt ├── component │ ├── 3rd-party │ │ ├── CMakeLists.txt │ │ ├── awtk │ │ │ └── port │ │ │ │ ├── platforms │ │ │ │ └── vsf │ │ │ │ │ ├── fs_os.c │ │ │ │ │ ├── main_loop_vsf.c │ │ │ │ │ ├── main_loop_vsf.h │ │ │ │ │ ├── mutex.c │ │ │ │ │ ├── platform.c │ │ │ │ │ ├── semaphore.c │ │ │ │ │ └── thread.c │ │ │ │ ├── vsf_awtk_port.c │ │ │ │ └── vsf_awtk_port.h │ │ ├── btstack │ │ │ ├── csr8510_longer_warm_reset_timeout.patch │ │ │ ├── firmware │ │ │ │ └── bcm │ │ │ │ │ └── bcm20702 │ │ │ │ │ └── bt_firmware_image.c │ │ │ └── port │ │ │ │ ├── btstack_run_loop_vsf.c │ │ │ │ ├── btstack_run_loop_vsf.h │ │ │ │ ├── hci_dump_vsf.c │ │ │ │ ├── hci_transport_h2_vsf.c │ │ │ │ └── hci_transport_h4_vsf.c │ │ ├── freetype │ │ │ └── 2.10.1 │ │ │ │ └── port │ │ │ │ ├── ft2build.h │ │ │ │ └── vsf_config │ │ │ │ ├── ftconfig.h │ │ │ │ ├── ftheader.h │ │ │ │ ├── ftmodule.h │ │ │ │ ├── ftoption.h │ │ │ │ └── ftstdlib.h │ │ ├── littlevgl │ │ │ ├── 6.0 │ │ │ │ └── port │ │ │ │ │ ├── vsf_lvgl_port.c │ │ │ │ │ └── vsf_lvgl_port.h │ │ │ └── 6.1.2 │ │ │ │ ├── extension │ │ │ │ └── lv_lib_freetype │ │ │ │ │ ├── lv_lib_freetyep_del_debug_header.patch │ │ │ │ │ └── raw │ │ │ │ │ ├── .github │ │ │ │ │ └── auto-comment.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── arial.ttf │ │ │ │ │ ├── lv_freetype.c │ │ │ │ │ └── lv_freetype.h │ │ │ │ ├── group_fix_calling_focused_null.patch │ │ │ │ └── port │ │ │ │ ├── vsf_lvgl_port.c │ │ │ │ └── vsf_lvgl_port.h │ │ ├── lwip │ │ │ ├── 1.4.1 │ │ │ │ └── port │ │ │ │ │ ├── arch │ │ │ │ │ ├── cc.h │ │ │ │ │ ├── perf.h │ │ │ │ │ ├── sys_arch.c │ │ │ │ │ └── sys_arch.h │ │ │ │ │ ├── lwip_netdrv_adapter.c │ │ │ │ │ ├── lwip_netdrv_adapter.h │ │ │ │ │ └── lwippools.h │ │ │ └── 2.1.2 │ │ │ │ └── port │ │ │ │ ├── arch │ │ │ │ ├── cc.h │ │ │ │ ├── perf.h │ │ │ │ ├── sys_arch.c │ │ │ │ └── sys_arch.h │ │ │ │ ├── lwip_netdrv_adapter.c │ │ │ │ ├── lwip_netdrv_adapter.h │ │ │ │ └── lwippools.h │ │ ├── nnom │ │ │ └── port │ │ │ │ └── nnom_port.h │ │ ├── nuconsole │ │ │ └── raw │ │ │ │ ├── NuConsole.c │ │ │ │ ├── NuConsole.h │ │ │ │ └── NuConsole_Config.h │ │ ├── segger_rtt │ │ │ └── raw │ │ │ │ └── RTT │ │ │ │ ├── License.txt │ │ │ │ ├── SEGGER_RTT.c │ │ │ │ ├── SEGGER_RTT.h │ │ │ │ ├── SEGGER_RTT_ASM_ARMv7M.S │ │ │ │ ├── SEGGER_RTT_Conf.h │ │ │ │ └── SEGGER_RTT_printf.c │ │ ├── vsfip │ │ │ └── raw │ │ │ │ ├── netif │ │ │ │ ├── eth │ │ │ │ │ ├── vsfip_eth.c │ │ │ │ │ └── vsfip_eth.h │ │ │ │ ├── vsfip_netdrv_adapter.c │ │ │ │ ├── vsfip_netdrv_adapter.h │ │ │ │ ├── vsfip_netif.c │ │ │ │ └── vsfip_netif.h │ │ │ │ ├── proto │ │ │ │ ├── dhcp │ │ │ │ │ ├── vsfip_dhcp_common.c │ │ │ │ │ ├── vsfip_dhcp_common.h │ │ │ │ │ ├── vsfip_dhcpc.c │ │ │ │ │ ├── vsfip_dhcpc.h │ │ │ │ │ ├── vsfip_dhcpd.c │ │ │ │ │ └── vsfip_dhcpd.h │ │ │ │ └── dns │ │ │ │ │ ├── vsfip_dnsc.c │ │ │ │ │ └── vsfip_dnsc.h │ │ │ │ ├── vsfip.c │ │ │ │ └── vsfip.h │ │ └── vsfvm │ │ │ ├── extension │ │ │ └── vsf │ │ │ │ ├── kernel │ │ │ │ ├── vsfvm_ext_kernel.c │ │ │ │ └── vsfvm_ext_kernel.h │ │ │ │ └── libusb │ │ │ │ ├── vsfvm_ext_libusb.c │ │ │ │ └── vsfvm_ext_libusb.h │ │ │ └── raw │ │ │ ├── common │ │ │ ├── vsfvm_bytecode.h │ │ │ ├── vsfvm_common.h │ │ │ ├── vsfvm_objdump.c │ │ │ └── vsfvm_objdump.h │ │ │ ├── compiler │ │ │ ├── lexer │ │ │ │ ├── dart │ │ │ │ │ ├── vsfvm_lexer_dart.c │ │ │ │ │ └── vsfvm_lexer_dart.h │ │ │ │ ├── vsfvm_lexer.c │ │ │ │ └── vsfvm_lexer.h │ │ │ ├── vsfvm_compiler.c │ │ │ ├── vsfvm_compiler.h │ │ │ ├── vsfvm_snapshot.c │ │ │ └── vsfvm_snapshot.h │ │ │ ├── extension │ │ │ ├── std │ │ │ │ ├── vsfvm_ext_std.c │ │ │ │ └── vsfvm_ext_std.h │ │ │ └── vsfvm_ext.c │ │ │ ├── runtime │ │ │ ├── vsfvm_runtime.c │ │ │ └── vsfvm_runtime.h │ │ │ ├── vsf_vm.h │ │ │ └── vsf_vm_cfg.h │ ├── CMakeLists.txt │ ├── av │ │ ├── CMakeLists.txt │ │ ├── audio │ │ │ ├── CMakeLists.txt │ │ │ ├── decoder │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── wav │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_wav.c │ │ │ │ │ └── vsf_wav.h │ │ │ ├── driver │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── winsound │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_winsound.c │ │ │ │ │ └── vsf_winsound.h │ │ │ ├── vsf_audio.c │ │ │ └── vsf_audio.h │ │ ├── vsf_av.h │ │ └── vsf_av_cfg.h │ ├── crypto │ │ ├── CMakeLists.txt │ │ ├── hash │ │ │ ├── CMakeLists.txt │ │ │ ├── crc │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_crc.c │ │ │ │ └── vsf_crc.h │ │ │ └── vsf_hash.h │ │ ├── vsf_crypto.h │ │ └── vsf_crypto_cfg.h │ ├── debugger │ │ ├── CMakeLists.txt │ │ ├── nulink │ │ │ ├── CMakeLists.txt │ │ │ ├── NuConsole_stream.c │ │ │ └── NuConsole_stream.h │ │ ├── segger_rtt │ │ │ ├── CMakeLists.txt │ │ │ ├── segger_rtt_stream.c │ │ │ └── segger_rtt_stream.h │ │ ├── vsf_debugger.h │ │ └── vsf_debugger_cfg.h │ ├── fs │ │ ├── CMakeLists.txt │ │ ├── driver │ │ │ ├── CMakeLists.txt │ │ │ ├── fatfs │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_fatfs.c │ │ │ │ └── vsf_fatfs.h │ │ │ ├── malfs │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_malfs.c │ │ │ │ └── vsf_malfs.h │ │ │ ├── memfs │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_memfs.c │ │ │ │ └── vsf_memfs.h │ │ │ └── winfs │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_winfs.c │ │ │ │ └── vsf_winfs.h │ │ ├── vsf_fs.c │ │ ├── vsf_fs.h │ │ └── vsf_fs_cfg.h │ ├── input │ │ ├── CMakeLists.txt │ │ ├── driver │ │ │ ├── CMakeLists.txt │ │ │ └── hid │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_input_hid.c │ │ │ │ └── vsf_input_hid.h │ │ ├── protocol │ │ │ ├── vsf_input_gamepad.h │ │ │ ├── vsf_input_keyboard.h │ │ │ ├── vsf_input_mouse.h │ │ │ ├── vsf_input_sensor.h │ │ │ └── vsf_input_touchscreen.h │ │ ├── vsf_input.c │ │ ├── vsf_input.h │ │ ├── vsf_input_cfg.h │ │ ├── vsf_input_get_type.h │ │ ├── vsf_input_get_type_1bit.h │ │ └── vsf_input_get_type_4bit.h │ ├── mal │ │ ├── CMakeLists.txt │ │ ├── driver │ │ │ ├── CMakeLists.txt │ │ │ ├── fakefat32_mal │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_fakefat32_mal.c │ │ │ │ └── vsf_fakefat32_mal.h │ │ │ ├── file_mal │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_file_mal.c │ │ │ │ └── vsf_file_mal.h │ │ │ ├── mem_mal │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_mem_mal.c │ │ │ │ └── vsf_mem_mal.h │ │ │ ├── mim_mal │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_mim_mal.c │ │ │ │ └── vsf_mim_mal.h │ │ │ └── scsi_mal │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_scsi_mal.c │ │ │ │ └── vsf_scsi_mal.h │ │ ├── vsf_mal.c │ │ ├── vsf_mal.h │ │ └── vsf_mal_cfg.h │ ├── scsi │ │ ├── CMakeLists.txt │ │ ├── driver │ │ │ ├── CMakeLists.txt │ │ │ ├── mal_scsi │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_mal_scsi.c │ │ │ │ └── vsf_mal_scsi.h │ │ │ └── virtual_scsi │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_virtual_scsi.c │ │ │ │ └── vsf_virtual_scsi.h │ │ ├── vsf_scsi.c │ │ ├── vsf_scsi.h │ │ └── vsf_scsi_cfg.h │ ├── tcpip │ │ ├── CMakeLists.txt │ │ ├── netdrv │ │ │ ├── CMakeLists.txt │ │ │ ├── driver │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── wpcap │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_netdrv_wpcap.c │ │ │ │ │ └── vsf_netdrv_wpcap.h │ │ │ ├── vsf_netdrv.c │ │ │ └── vsf_netdrv.h │ │ ├── socket │ │ │ ├── CMakeLists.txt │ │ │ ├── driver │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── lwip │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_socket_lwip.c │ │ │ │ │ └── vsf_socket_lwip.h │ │ │ │ └── win │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_socket_win.c │ │ │ │ │ └── vsf_socket_win.h │ │ │ ├── vsf_socket.c │ │ │ └── vsf_socket.h │ │ ├── vsf_tcpip.h │ │ └── vsf_tcpip_cfg.h │ ├── ui │ │ ├── CMakeLists.txt │ │ ├── disp │ │ │ ├── CMakeLists.txt │ │ │ ├── driver │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── fb │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_disp_fb.c │ │ │ │ │ └── vsf_disp_fb.h │ │ │ │ ├── sdl2 │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_disp_sdl2.c │ │ │ │ │ └── vsf_disp_sdl2.h │ │ │ │ ├── sitronix │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── common │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── vsf_disp_sitronix_common.c │ │ │ │ │ │ └── vsf_disp_sitronix_common.h │ │ │ │ │ ├── st7735 │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── vsf_disp_st7735.c │ │ │ │ │ │ └── vsf_disp_st7735.h │ │ │ │ │ └── st7789 │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── vsf_disp_st7789.c │ │ │ │ │ │ └── vsf_disp_st7789.h │ │ │ │ ├── solomon-systech │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── common │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── vsf_disp_solomon_systech_common.c │ │ │ │ │ │ └── vsf_disp_solomon_systech_common.h │ │ │ │ │ └── ssd1306 │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── vsf_disp_ssd1306.c │ │ │ │ │ │ └── vsf_disp_ssd1306.h │ │ │ │ ├── usbd_uvc │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_disp_usbd_uvc.c │ │ │ │ │ └── vsf_disp_usbd_uvc.h │ │ │ │ └── vga │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── m480 │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_disp_vga_m480.c │ │ │ │ │ └── vsf_disp_vga_m480.h │ │ │ ├── vsf_disp.c │ │ │ └── vsf_disp.h │ │ ├── tgui │ │ │ ├── CMakeLists.txt │ │ │ ├── controls │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── __vk_tgui_slider.c │ │ │ │ ├── __vk_tgui_slider.h │ │ │ │ ├── __vsf_tgui_controls_common.h │ │ │ │ ├── vsf_msg_tree_cfg.h │ │ │ │ ├── vsf_tgui_button.c │ │ │ │ ├── vsf_tgui_button.h │ │ │ │ ├── vsf_tgui_control.c │ │ │ │ ├── vsf_tgui_control.h │ │ │ │ ├── vsf_tgui_controls.h │ │ │ │ ├── vsf_tgui_controls_common.c │ │ │ │ ├── vsf_tgui_label.c │ │ │ │ ├── vsf_tgui_label.h │ │ │ │ ├── vsf_tgui_list.c │ │ │ │ ├── vsf_tgui_list.h │ │ │ │ ├── vsf_tgui_panel.c │ │ │ │ ├── vsf_tgui_panel.h │ │ │ │ ├── vsf_tgui_text_list.c │ │ │ │ └── vsf_tgui_text_list.h │ │ │ ├── utilities │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_tgui_text.c │ │ │ │ └── vsf_tgui_text.h │ │ │ ├── view │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── simple_view │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_tgui_sv_button.c │ │ │ │ │ ├── vsf_tgui_sv_button.h │ │ │ │ │ ├── vsf_tgui_sv_color.c │ │ │ │ │ ├── vsf_tgui_sv_color.h │ │ │ │ │ ├── vsf_tgui_sv_container.c │ │ │ │ │ ├── vsf_tgui_sv_container.h │ │ │ │ │ ├── vsf_tgui_sv_control.c │ │ │ │ │ ├── vsf_tgui_sv_control.h │ │ │ │ │ ├── vsf_tgui_sv_draw.c │ │ │ │ │ ├── vsf_tgui_sv_draw.h │ │ │ │ │ ├── vsf_tgui_sv_font.c │ │ │ │ │ ├── vsf_tgui_sv_font.h │ │ │ │ │ ├── vsf_tgui_sv_label.c │ │ │ │ │ ├── vsf_tgui_sv_label.h │ │ │ │ │ ├── vsf_tgui_sv_list.c │ │ │ │ │ ├── vsf_tgui_sv_list.h │ │ │ │ │ ├── vsf_tgui_sv_panel.c │ │ │ │ │ ├── vsf_tgui_sv_panel.h │ │ │ │ │ ├── vsf_tgui_sv_port.h │ │ │ │ │ ├── vsf_tgui_sv_style.c │ │ │ │ │ ├── vsf_tgui_sv_style.h │ │ │ │ │ ├── vsf_tgui_sv_text_list.c │ │ │ │ │ ├── vsf_tgui_sv_text_list.h │ │ │ │ │ ├── vsf_tgui_v_template.h │ │ │ │ │ └── vsf_tgui_v_type.h │ │ │ │ ├── template │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_tgui_v_button.c │ │ │ │ │ ├── vsf_tgui_v_button.h │ │ │ │ │ ├── vsf_tgui_v_container.c │ │ │ │ │ ├── vsf_tgui_v_container.h │ │ │ │ │ ├── vsf_tgui_v_control.c │ │ │ │ │ ├── vsf_tgui_v_control.h │ │ │ │ │ ├── vsf_tgui_v_label.c │ │ │ │ │ ├── vsf_tgui_v_label.h │ │ │ │ │ ├── vsf_tgui_v_panel.c │ │ │ │ │ ├── vsf_tgui_v_panel.h │ │ │ │ │ ├── vsf_tgui_v_template.h │ │ │ │ │ └── vsf_tgui_v_type.h │ │ │ │ ├── vsf_tgui_v.c │ │ │ │ └── vsf_tgui_v.h │ │ │ ├── vsf_tgui.c │ │ │ ├── vsf_tgui.h │ │ │ ├── vsf_tgui_cfg.h │ │ │ ├── vsf_tgui_common.c │ │ │ ├── vsf_tgui_common.h │ │ │ └── vsf_tgui_input.c │ │ ├── vsf_ui.h │ │ └── vsf_ui_cfg.h │ ├── usb │ │ ├── CMakeLists.txt │ │ ├── common │ │ │ ├── class │ │ │ │ ├── CDC │ │ │ │ │ ├── vsf_usb_CDC.h │ │ │ │ │ └── vsf_usb_CDCACM.h │ │ │ │ ├── DFU │ │ │ │ │ └── vsf_usb_dfu.h │ │ │ │ ├── HID │ │ │ │ │ ├── vsf_usb_HID.h │ │ │ │ │ ├── vsf_usb_ds4.h │ │ │ │ │ ├── vsf_usb_nspro.h │ │ │ │ │ └── vsf_usb_xb360.h │ │ │ │ ├── HUB │ │ │ │ │ └── vsf_usb_HUB.h │ │ │ │ ├── MSC │ │ │ │ │ └── vsf_usb_MSC.h │ │ │ │ ├── UAC │ │ │ │ │ └── vsf_usb_UAC.h │ │ │ │ ├── UVC │ │ │ │ │ └── vsf_usb_UVC.h │ │ │ │ └── XB1 │ │ │ │ │ └── vsf_usb_xb1.h │ │ │ ├── usb_common.h │ │ │ └── usb_desc.h │ │ ├── device │ │ │ ├── CMakeLists.txt │ │ │ ├── class │ │ │ │ ├── CDC │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbd_CDC.c │ │ │ │ │ ├── vsf_usbd_CDC.h │ │ │ │ │ ├── vsf_usbd_CDCACM.c │ │ │ │ │ ├── vsf_usbd_CDCACM.h │ │ │ │ │ └── vsf_usbd_CDCACM_desc.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── HID │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbd_HID.c │ │ │ │ │ └── vsf_usbd_HID.h │ │ │ │ ├── MSC │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbd_MSC.c │ │ │ │ │ ├── vsf_usbd_MSC.h │ │ │ │ │ └── vsf_usbd_MSC_desc.h │ │ │ │ ├── UAC │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbd_UAC.c │ │ │ │ │ └── vsf_usbd_UAC.h │ │ │ │ └── UVC │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbd_UVC.c │ │ │ │ │ └── vsf_usbd_UVC.h │ │ │ ├── extension │ │ │ │ ├── bos │ │ │ │ │ └── vsf_usbd_bos.h │ │ │ │ ├── webusb │ │ │ │ │ └── vsf_usbd_webusb.h │ │ │ │ └── winusb │ │ │ │ │ └── vsf_usbd_winusb.h │ │ │ ├── vsf_usbd.c │ │ │ ├── vsf_usbd.h │ │ │ └── vsf_usbd_drv_ifs.h │ │ ├── driver │ │ │ ├── CMakeLists.txt │ │ │ ├── dcd │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── usbip_dcd │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbip_dcd.c │ │ │ │ │ └── vsf_usbip_dcd.h │ │ │ ├── hcd │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── libusb_hcd │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_libusb_hcd.c │ │ │ │ │ └── vsf_libusb_hcd.h │ │ │ │ ├── ohci │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_ohci.c │ │ │ │ │ └── vsf_ohci.h │ │ │ │ └── winusb_hcd │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_winusb_hcd.c │ │ │ │ │ └── vsf_winusb_hcd.h │ │ │ └── otg │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── dwcotg │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── dwcotg_regs.h │ │ │ │ ├── vsf_dwcotg_common.c │ │ │ │ ├── vsf_dwcotg_common.h │ │ │ │ ├── vsf_dwcotg_dcd.c │ │ │ │ ├── vsf_dwcotg_dcd.h │ │ │ │ ├── vsf_dwcotg_hcd.c │ │ │ │ ├── vsf_dwcotg_hcd.h │ │ │ │ └── vsf_dwcotg_hw.h │ │ │ │ └── musb │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── fdrc │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── __vsf_musb_fdrc_common.c │ │ │ │ ├── __vsf_musb_fdrc_common.h │ │ │ │ ├── vsf_musb_fdrc_dcd.c │ │ │ │ ├── vsf_musb_fdrc_dcd.h │ │ │ │ ├── vsf_musb_fdrc_hcd.c │ │ │ │ └── vsf_musb_fdrc_hcd.h │ │ ├── host │ │ │ ├── CMakeLists.txt │ │ │ ├── class │ │ │ │ ├── BTHCI │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_BTHCI.c │ │ │ │ │ └── vsf_usbh_BTHCI.h │ │ │ │ ├── CDC │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_CDC.c │ │ │ │ │ ├── vsf_usbh_CDC.h │ │ │ │ │ ├── vsf_usbh_CDCECM.c │ │ │ │ │ └── vsf_usbh_CDCECM.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── DFU │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_dfu.c │ │ │ │ │ └── vsf_usbh_dfu.h │ │ │ │ ├── HID │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_HID.c │ │ │ │ │ ├── vsf_usbh_HID.h │ │ │ │ │ ├── vsf_usbh_ds4.c │ │ │ │ │ ├── vsf_usbh_ds4.h │ │ │ │ │ ├── vsf_usbh_nspro.c │ │ │ │ │ ├── vsf_usbh_nspro.h │ │ │ │ │ ├── vsf_usbh_xb360.c │ │ │ │ │ └── vsf_usbh_xb360.h │ │ │ │ ├── HUB │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_HUB.c │ │ │ │ │ └── vsf_usbh_HUB.h │ │ │ │ ├── MSC │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_msc.c │ │ │ │ │ └── vsf_usbh_msc.h │ │ │ │ ├── UAC │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_uac.c │ │ │ │ │ └── vsf_usbh_uac.h │ │ │ │ ├── XB1 │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_xb1.c │ │ │ │ │ └── vsf_usbh_xb1.h │ │ │ │ ├── libusb │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_libusb.c │ │ │ │ │ └── vsf_usbh_libusb.h │ │ │ │ └── rtl8152 │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── vsf_usbh_rtl8152.c │ │ │ │ │ └── vsf_usbh_rtl8152.h │ │ │ ├── vsf_usbh.c │ │ │ └── vsf_usbh.h │ │ ├── vsf_usb.h │ │ └── vsf_usb_cfg.h │ ├── vsf_component.c │ ├── vsf_component.h │ └── vsf_component_cfg.h ├── hal │ ├── CMakeLists.txt │ ├── arch │ │ ├── CMakeLists.txt │ │ ├── __vsf_arch_interface.h │ │ ├── arm │ │ │ ├── CMakeLists.txt │ │ │ ├── arm9 │ │ │ │ ├── arm9_generic.c │ │ │ │ ├── arm9_generic.h │ │ │ │ └── startup │ │ │ │ │ └── app │ │ │ │ │ └── asm │ │ │ │ │ └── iar │ │ │ │ │ └── entry.S │ │ │ ├── cortex-a │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── cortex_a_generic.c │ │ │ │ └── cortex_a_generic.h │ │ │ └── cortex-m │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── SysTick │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── i_io_systick.h │ │ │ │ ├── systick.c │ │ │ │ ├── systick.h │ │ │ │ ├── systick_internal.c │ │ │ │ └── systick_internal.h │ │ │ │ ├── cortex_m_generic.c │ │ │ │ └── cortex_m_generic.h │ │ ├── common │ │ │ └── arch_without_thread_suspend │ │ │ │ ├── vsf_arch_without_thread_suspend_template.h │ │ │ │ └── vsf_arch_without_thread_suspend_template.inc │ │ ├── mcs51 │ │ │ ├── CMakeLists.txt │ │ │ ├── POST_STARTUP.A51 │ │ │ ├── cstartup.s51 │ │ │ ├── mcs51_generic.c │ │ │ └── mcs51_generic.h │ │ ├── rtos │ │ │ ├── CMakeLists.txt │ │ │ ├── freertos │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── freertos_generic.c │ │ │ │ └── freertos_generic.h │ │ │ ├── rtos_generic.c │ │ │ └── rtos_generic.h │ │ ├── rv │ │ │ ├── CMakeLists.txt │ │ │ ├── rv_generic.c │ │ │ └── rv_generic.h │ │ ├── template │ │ │ ├── CMakeLists.txt │ │ │ ├── template_generic.c │ │ │ └── template_generic.h │ │ ├── vsf_arch.h │ │ ├── vsf_arch_abstraction.c │ │ ├── vsf_arch_abstraction.h │ │ └── x86 │ │ │ ├── CMakeLists.txt │ │ │ ├── linux │ │ │ ├── linux_generic.c │ │ │ └── linux_generic.h │ │ │ └── win │ │ │ ├── CMakeLists.txt │ │ │ ├── win_generic.c │ │ │ ├── win_generic.h │ │ │ └── win_generic_simple.c │ ├── driver │ │ ├── CMakeLists.txt │ │ ├── TI │ │ │ ├── AM335X │ │ │ │ ├── AM3352 │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── device.h │ │ │ │ │ ├── driver.c │ │ │ │ │ └── driver.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── __device.h │ │ │ ├── CMakeLists.txt │ │ │ └── driver.h │ │ ├── WinnerMicro │ │ │ ├── CMakeLists.txt │ │ │ ├── W60X │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── W600 │ │ │ │ │ ├── device.h │ │ │ │ │ ├── driver.c │ │ │ │ │ └── driver.h │ │ │ │ ├── __device.h │ │ │ │ └── common │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── common.c │ │ │ │ │ ├── common.h │ │ │ │ │ ├── io │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── io.c │ │ │ │ │ ├── io.h │ │ │ │ │ └── io_lv0.c │ │ │ │ │ ├── usart │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── usart.c │ │ │ │ │ ├── usart.h │ │ │ │ │ └── usart_lv0.c │ │ │ │ │ └── vendor │ │ │ │ │ ├── Include │ │ │ │ │ └── wm_regs.h │ │ │ │ │ └── startup │ │ │ │ │ ├── IAR │ │ │ │ │ └── startup_venus.s │ │ │ │ │ └── MDK │ │ │ │ │ └── startup_venus.s │ │ │ └── driver.h │ │ ├── common │ │ │ ├── common.h │ │ │ ├── usart │ │ │ │ ├── __usart_common.h │ │ │ │ └── __usart_common.inc │ │ │ ├── vsf_drv_usart_poll_util.h │ │ │ ├── vsf_swi_template.h │ │ │ └── vsf_swi_template.inc │ │ ├── driver.h │ │ ├── template │ │ │ ├── __series_name__ │ │ │ │ └── __device_name_1__ │ │ │ │ │ ├── driver.c │ │ │ │ │ └── driver.h │ │ │ ├── __series_template__ │ │ │ │ └── __device_template__ │ │ │ │ │ ├── device.h │ │ │ │ │ ├── driver.c │ │ │ │ │ └── driver.h │ │ │ └── driver.h │ │ └── x86 │ │ │ ├── CMakeLists.txt │ │ │ ├── driver.h │ │ │ ├── linux │ │ │ ├── CMakeLists.txt │ │ │ ├── device.h │ │ │ ├── driver.c │ │ │ └── driver.h │ │ │ └── win │ │ │ ├── CMakeLists.txt │ │ │ ├── device.h │ │ │ ├── driver.c │ │ │ ├── driver.h │ │ │ └── uart │ │ │ ├── CMakeLists.txt │ │ │ ├── uart.c │ │ │ └── uart.h │ ├── interface │ │ ├── vsf_interface_common.h │ │ ├── vsf_interface_io.h │ │ ├── vsf_interface_pm.h │ │ ├── vsf_interface_spi.h │ │ ├── vsf_interface_usart.h │ │ └── vsf_interface_usb.h │ ├── vsf_hal.c │ ├── vsf_hal.h │ └── vsf_hal_cfg.h ├── kernel │ ├── CMakeLists.txt │ ├── __eda │ │ ├── CMakeLists.txt │ │ ├── vsf_eda_bmpevt.c │ │ ├── vsf_eda_queue.c │ │ ├── vsf_eda_sync.c │ │ └── vsf_eda_timer.c │ ├── lib │ │ ├── __kernel_lib_with_full_feature_set.h │ │ ├── vsf_kernel_armv6m_full_size.a │ │ ├── vsf_kernel_armv7em_full_size.a │ │ └── vsf_kernel_armv7m_full_size.a │ ├── shell │ │ ├── CMakeLists.txt │ │ ├── simple │ │ │ ├── CMakeLists.txt │ │ │ ├── vsf_simple.h │ │ │ ├── vsf_simple_bmpevt.c │ │ │ ├── vsf_simple_bmpevt.h │ │ │ └── vsf_simple_task.c │ │ ├── vsf_shell.c │ │ └── vsf_shell.h │ ├── task │ │ ├── CMakeLists.txt │ │ ├── __vsf_task_common.h │ │ ├── vsf_fsm.h │ │ ├── vsf_pt.h │ │ ├── vsf_task.c │ │ ├── vsf_task.h │ │ ├── vsf_thread.c │ │ └── vsf_thread.h │ ├── vsf_eda.c │ ├── vsf_eda.h │ ├── vsf_eda_slist_queue.c │ ├── vsf_eda_slist_queue.h │ ├── vsf_evtq.h │ ├── vsf_evtq_array.c │ ├── vsf_evtq_list.c │ ├── vsf_kernel.h │ ├── vsf_kernel_bsp.c │ ├── vsf_kernel_cfg.h │ ├── vsf_kernel_common.h │ ├── vsf_os.c │ ├── vsf_os.h │ ├── vsf_timq.h │ └── vsf_timq_dlist.h ├── osa_hal │ ├── CMakeLists.txt │ ├── driver │ │ ├── CMakeLists.txt │ │ ├── customised │ │ │ ├── CMakeLists.txt │ │ │ ├── driver.h │ │ │ ├── multiplex_hal │ │ │ │ ├── driver.h │ │ │ │ ├── iic │ │ │ │ │ ├── vsf_multiplex_iic.c │ │ │ │ │ └── vsf_multiplex_iic.h │ │ │ │ ├── spi │ │ │ │ │ ├── vsf_multiplex_spi.c │ │ │ │ │ └── vsf_multiplex_spi.h │ │ │ │ └── vsf_multiplex_hal_common.h │ │ │ ├── readme.md │ │ │ └── stream_hal │ │ │ │ ├── driver.h │ │ │ │ └── usart │ │ │ │ ├── vsf_stream_usart.c │ │ │ │ └── vsf_stream_usart.h │ │ └── driver.h │ ├── sw_peripheral │ │ ├── io_peripheral │ │ │ ├── iic │ │ │ │ ├── vsf_io_iic.c │ │ │ │ └── vsf_io_iic.h │ │ │ ├── io_periperhal_cfg.h │ │ │ ├── io_peripheral.h │ │ │ └── spi │ │ │ │ ├── vsf_io_spi.c │ │ │ │ └── vsf_io_spi.h │ │ ├── sw_periperhal_cfg.h │ │ ├── sw_peripheral.h │ │ └── sw_peripheral_template │ │ │ ├── vsf_sw_xxxxxx.c │ │ │ └── vsf_sw_xxxxxx.h │ ├── vsf_osa_hal.c │ ├── vsf_osa_hal.h │ └── vsf_osa_hal_cfg.h ├── osa_service │ ├── CMakeLists.txt │ ├── msg_tree │ │ ├── CMakeLists.txt │ │ ├── vsf_msg_tree.c │ │ └── vsf_msg_tree.h │ ├── vsf_osa_service.c │ ├── vsf_osa_service.h │ └── vsf_osa_service_cfg.h ├── service │ ├── CMakeLists.txt │ ├── dynarr │ │ ├── CMakeLists.txt │ │ ├── vsf_dynarr.c │ │ └── vsf_dynarr.h │ ├── dynstack │ │ ├── CMakeLists.txt │ │ ├── vsf_dynstack.c │ │ └── vsf_dynstack.h │ ├── fifo │ │ ├── CMakeLists.txt │ │ ├── vsf_fifo.c │ │ └── vsf_fifo.h │ ├── heap │ │ ├── CMakeLists.txt │ │ ├── vsf_heap.c │ │ └── vsf_heap.h │ ├── json │ │ ├── CMakeLists.txt │ │ ├── vsf_json.c │ │ └── vsf_json.h │ ├── pbuf │ │ ├── CMakeLists.txt │ │ ├── vsf_pbuf.c │ │ ├── vsf_pbuf.h │ │ ├── vsf_pbuf_pool.c │ │ └── vsf_pbuf_pool.h │ ├── pool │ │ ├── CMakeLists.txt │ │ ├── impl_vsf_pool.inc │ │ ├── vsf_pool.c │ │ └── vsf_pool.h │ ├── simple_stream │ │ ├── CMakeLists.txt │ │ ├── block_stream │ │ │ ├── CMakeLists.txt │ │ │ ├── vsf_block_stream.c │ │ │ └── vsf_block_stream.h │ │ ├── fifo_stream │ │ │ ├── CMakeLists.txt │ │ │ ├── vsf_fifo_stream.c │ │ │ └── vsf_fifo_stream.h │ │ ├── mem_stream │ │ │ ├── CMakeLists.txt │ │ │ ├── vsf_mem_stream.c │ │ │ └── vsf_mem_stream.h │ │ ├── vsf_simple_stream.c │ │ └── vsf_simple_stream.h │ ├── stream │ │ ├── CMakeLists.txt │ │ ├── interface.h │ │ ├── pbuf_queue │ │ │ ├── CMakeLists.txt │ │ │ ├── vsf_pbuf_queue.c │ │ │ └── vsf_pbuf_queue.h │ │ ├── vsf_stream.c │ │ ├── vsf_stream.h │ │ ├── vsf_stream_base.c │ │ ├── vsf_stream_base.h │ │ ├── vsf_stream_reader.c │ │ ├── vsf_stream_reader.h │ │ ├── vsf_stream_writer.c │ │ └── vsf_stream_writer.h │ ├── trace │ │ ├── CMakeLists.txt │ │ ├── vsf_trace.c │ │ └── vsf_trace.h │ ├── vsf_service.c │ ├── vsf_service.h │ └── vsf_service_cfg.h ├── shell │ ├── CMakeLists.txt │ ├── media │ │ ├── CMakeLists.txt │ │ └── sdl2 │ │ │ ├── CMakeLists.txt │ │ │ ├── include │ │ │ └── SDL2 │ │ │ │ ├── SDL.h │ │ │ │ ├── SDL_keyboard.h │ │ │ │ ├── SDL_mouse.h │ │ │ │ └── SDL_surface.h │ │ │ ├── vsf_sdl2.c │ │ │ └── vsf_sdl2_cfg.h │ └── sys │ │ ├── CMakeLists.txt │ │ ├── linux │ │ ├── CMakeLists.txt │ │ ├── include │ │ │ ├── dirent.h │ │ │ ├── errno.h │ │ │ ├── fcntl.h │ │ │ ├── libusb.h │ │ │ ├── linux │ │ │ │ └── limits.h │ │ │ ├── poll.h │ │ │ ├── pthread.h │ │ │ ├── semaphore.h │ │ │ ├── signal.h │ │ │ ├── simple_libc │ │ │ │ ├── ctype.h │ │ │ │ ├── stddef.h │ │ │ │ ├── stdio.h │ │ │ │ ├── stdlib.h │ │ │ │ ├── string │ │ │ │ ├── string.h │ │ │ │ ├── time.h │ │ │ │ └── wchar.h │ │ │ ├── sys │ │ │ │ ├── mount.h │ │ │ │ ├── select.h │ │ │ │ ├── stat.h │ │ │ │ ├── time.h │ │ │ │ ├── types.h │ │ │ │ └── wait.h │ │ │ ├── termios.h │ │ │ └── unistd.h │ │ ├── lib │ │ │ ├── CMakeLists.txt │ │ │ ├── glibc │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── vsf_linux_glibc.c │ │ │ │ ├── vsf_linux_glibc_ctype.c │ │ │ │ ├── vsf_linux_glibc_pthread.c │ │ │ │ ├── vsf_linux_glibc_sem.c │ │ │ │ ├── vsf_linux_glibc_stdio.c │ │ │ │ ├── vsf_linux_glibc_stdlib.c │ │ │ │ ├── vsf_linux_glibc_string.c │ │ │ │ └── vsf_linux_glibc_time.c │ │ │ └── libusb │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── vsf_linux_libusb.c │ │ ├── port │ │ │ ├── CMakeLists.txt │ │ │ └── busybox │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── busybox.c │ │ │ │ ├── busybox.h │ │ │ │ ├── config.h │ │ │ │ └── shell │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── vsh.c │ │ ├── vsf_linux.c │ │ ├── vsf_linux.h │ │ ├── vsf_linux_cfg.h │ │ └── vsf_linux_socket.c │ │ └── xboot │ │ ├── CMakeLists.txt │ │ ├── include │ │ ├── arch │ │ │ ├── atomic.h │ │ │ ├── barrier.h │ │ │ ├── endian.h │ │ │ ├── irqflags.h │ │ │ └── spinlock.h │ │ ├── io.h │ │ ├── stddef.h │ │ ├── types.h │ │ ├── xboot.h │ │ ├── xboot │ │ │ └── window.h │ │ └── xfs │ │ │ └── xfs.h │ │ ├── vsf_xboot.c │ │ └── vsf_xboot_cfg.h ├── utilities │ ├── 3rd-party │ │ ├── CMakeLists.txt │ │ └── PLOOC │ │ │ └── raw │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── example │ │ │ ├── README.md │ │ │ ├── byte_queue │ │ │ │ ├── byte_queue.c │ │ │ │ └── byte_queue.h │ │ │ ├── enhanced_byte_queue │ │ │ │ ├── enhanced_byte_queue.c │ │ │ │ └── enhanced_byte_queue.h │ │ │ ├── picture │ │ │ │ └── example3.png │ │ │ ├── project │ │ │ │ ├── main.c │ │ │ │ └── mdk │ │ │ │ │ ├── RTE │ │ │ │ │ ├── Device │ │ │ │ │ │ └── CMSDK_CM3 │ │ │ │ │ │ │ ├── RTE_Device.h │ │ │ │ │ │ │ ├── startup_CMSDK_CM3.s │ │ │ │ │ │ │ └── system_CMSDK_CM3.c │ │ │ │ │ ├── _Target_1 │ │ │ │ │ │ └── RTE_Components.h │ │ │ │ │ └── _arm_compiler_6_example │ │ │ │ │ │ └── RTE_Components.h │ │ │ │ │ ├── platform.c │ │ │ │ │ ├── platform.h │ │ │ │ │ ├── plooc_example.uvoptx │ │ │ │ │ └── plooc_example.uvprojx │ │ │ └── trace │ │ │ │ ├── trace.c │ │ │ │ └── trace.h │ │ │ ├── plooc.h │ │ │ ├── plooc_class.h │ │ │ ├── plooc_class_black_box.h │ │ │ ├── plooc_class_simple.h │ │ │ ├── plooc_class_simple_c90.h │ │ │ └── plooc_class_strict.h │ ├── CMakeLists.txt │ ├── communicate.h │ ├── compiler │ │ ├── CMakeLists.txt │ │ ├── __common │ │ │ ├── CMakeLists.txt │ │ │ ├── __compiler.h │ │ │ ├── __retarget_io.c │ │ │ └── __type.h │ │ ├── arm │ │ │ ├── CMSIS │ │ │ │ ├── Core │ │ │ │ │ ├── Include │ │ │ │ │ │ ├── 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 │ │ │ │ │ └── Template │ │ │ │ │ │ └── ARMv8-M │ │ │ │ │ │ ├── main_s.c │ │ │ │ │ │ └── tz_context.c │ │ │ │ ├── Core_A │ │ │ │ │ ├── Include │ │ │ │ │ │ ├── cmsis_armcc.h │ │ │ │ │ │ ├── cmsis_armclang.h │ │ │ │ │ │ ├── cmsis_compiler.h │ │ │ │ │ │ ├── cmsis_cp15.h │ │ │ │ │ │ ├── cmsis_gcc.h │ │ │ │ │ │ ├── cmsis_iccarm.h │ │ │ │ │ │ ├── core_ca.h │ │ │ │ │ │ └── irq_ctrl.h │ │ │ │ │ └── Source │ │ │ │ │ │ └── irq_ctrl_gic.c │ │ │ │ ├── Core_Legacy │ │ │ │ │ └── Include │ │ │ │ │ │ ├── cmsis_armcc.h │ │ │ │ │ │ ├── cmsis_armclang.h │ │ │ │ │ │ ├── cmsis_armclang_ltm.h │ │ │ │ │ │ ├── cmsis_compiler.h │ │ │ │ │ │ ├── cmsis_gcc.h │ │ │ │ │ │ ├── cmsis_iccarm.h │ │ │ │ │ │ └── cmsis_version.h │ │ │ │ ├── DSP │ │ │ │ │ ├── ComputeLibrary │ │ │ │ │ │ ├── Include │ │ │ │ │ │ │ └── NEMath.h │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ └── Source │ │ │ │ │ │ │ └── arm_cl_tables.c │ │ │ │ │ ├── Include │ │ │ │ │ │ ├── arm_common_tables.h │ │ │ │ │ │ ├── arm_const_structs.h │ │ │ │ │ │ ├── arm_helium_utils.h │ │ │ │ │ │ ├── arm_math.h │ │ │ │ │ │ ├── arm_mve_tables.h │ │ │ │ │ │ └── arm_vec_math.h │ │ │ │ │ ├── PrivateInclude │ │ │ │ │ │ ├── arm_sorting.h │ │ │ │ │ │ ├── arm_vec_fft.h │ │ │ │ │ │ └── arm_vec_filtering.h │ │ │ │ │ └── Source │ │ │ │ │ │ ├── BasicMathFunctions │ │ │ │ │ │ ├── BasicMathFunctions.c │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm_abs_f32.c │ │ │ │ │ │ ├── arm_abs_q15.c │ │ │ │ │ │ ├── arm_abs_q31.c │ │ │ │ │ │ ├── arm_abs_q7.c │ │ │ │ │ │ ├── arm_add_f32.c │ │ │ │ │ │ ├── arm_add_q15.c │ │ │ │ │ │ ├── arm_add_q31.c │ │ │ │ │ │ ├── arm_add_q7.c │ │ │ │ │ │ ├── arm_and_u16.c │ │ │ │ │ │ ├── arm_and_u32.c │ │ │ │ │ │ ├── arm_and_u8.c │ │ │ │ │ │ ├── arm_dot_prod_f32.c │ │ │ │ │ │ ├── arm_dot_prod_q15.c │ │ │ │ │ │ ├── arm_dot_prod_q31.c │ │ │ │ │ │ ├── arm_dot_prod_q7.c │ │ │ │ │ │ ├── arm_mult_f32.c │ │ │ │ │ │ ├── arm_mult_q15.c │ │ │ │ │ │ ├── arm_mult_q31.c │ │ │ │ │ │ ├── arm_mult_q7.c │ │ │ │ │ │ ├── arm_negate_f32.c │ │ │ │ │ │ ├── arm_negate_q15.c │ │ │ │ │ │ ├── arm_negate_q31.c │ │ │ │ │ │ ├── arm_negate_q7.c │ │ │ │ │ │ ├── arm_not_u16.c │ │ │ │ │ │ ├── arm_not_u32.c │ │ │ │ │ │ ├── arm_not_u8.c │ │ │ │ │ │ ├── arm_offset_f32.c │ │ │ │ │ │ ├── arm_offset_q15.c │ │ │ │ │ │ ├── arm_offset_q31.c │ │ │ │ │ │ ├── arm_offset_q7.c │ │ │ │ │ │ ├── arm_or_u16.c │ │ │ │ │ │ ├── arm_or_u32.c │ │ │ │ │ │ ├── arm_or_u8.c │ │ │ │ │ │ ├── arm_scale_f32.c │ │ │ │ │ │ ├── arm_scale_q15.c │ │ │ │ │ │ ├── arm_scale_q31.c │ │ │ │ │ │ ├── arm_scale_q7.c │ │ │ │ │ │ ├── arm_shift_q15.c │ │ │ │ │ │ ├── arm_shift_q31.c │ │ │ │ │ │ ├── arm_shift_q7.c │ │ │ │ │ │ ├── arm_sub_f32.c │ │ │ │ │ │ ├── arm_sub_q15.c │ │ │ │ │ │ ├── arm_sub_q31.c │ │ │ │ │ │ ├── arm_sub_q7.c │ │ │ │ │ │ ├── arm_xor_u16.c │ │ │ │ │ │ ├── arm_xor_u32.c │ │ │ │ │ │ └── arm_xor_u8.c │ │ │ │ │ │ ├── BayesFunctions │ │ │ │ │ │ ├── BayesFunctions.c │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── arm_gaussian_naive_bayes_predict_f32.c │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── CommonTables │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── CommonTables.c │ │ │ │ │ │ ├── arm_common_tables.c │ │ │ │ │ │ ├── arm_const_structs.c │ │ │ │ │ │ └── arm_mve_tables.c │ │ │ │ │ │ ├── ComplexMathFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── ComplexMathFunctions.c │ │ │ │ │ │ ├── arm_cmplx_conj_f32.c │ │ │ │ │ │ ├── arm_cmplx_conj_q15.c │ │ │ │ │ │ ├── arm_cmplx_conj_q31.c │ │ │ │ │ │ ├── arm_cmplx_dot_prod_f32.c │ │ │ │ │ │ ├── arm_cmplx_dot_prod_q15.c │ │ │ │ │ │ ├── arm_cmplx_dot_prod_q31.c │ │ │ │ │ │ ├── arm_cmplx_mag_f32.c │ │ │ │ │ │ ├── arm_cmplx_mag_q15.c │ │ │ │ │ │ ├── arm_cmplx_mag_q31.c │ │ │ │ │ │ ├── arm_cmplx_mag_squared_f32.c │ │ │ │ │ │ ├── arm_cmplx_mag_squared_q15.c │ │ │ │ │ │ ├── arm_cmplx_mag_squared_q31.c │ │ │ │ │ │ ├── arm_cmplx_mult_cmplx_f32.c │ │ │ │ │ │ ├── arm_cmplx_mult_cmplx_q15.c │ │ │ │ │ │ ├── arm_cmplx_mult_cmplx_q31.c │ │ │ │ │ │ ├── arm_cmplx_mult_real_f32.c │ │ │ │ │ │ ├── arm_cmplx_mult_real_q15.c │ │ │ │ │ │ └── arm_cmplx_mult_real_q31.c │ │ │ │ │ │ ├── ControllerFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── ControllerFunctions.c │ │ │ │ │ │ ├── arm_pid_init_f32.c │ │ │ │ │ │ ├── arm_pid_init_q15.c │ │ │ │ │ │ ├── arm_pid_init_q31.c │ │ │ │ │ │ ├── arm_pid_reset_f32.c │ │ │ │ │ │ ├── arm_pid_reset_q15.c │ │ │ │ │ │ ├── arm_pid_reset_q31.c │ │ │ │ │ │ ├── arm_sin_cos_f32.c │ │ │ │ │ │ └── arm_sin_cos_q31.c │ │ │ │ │ │ ├── DistanceFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── DistanceFunctions.c │ │ │ │ │ │ ├── arm_boolean_distance.c │ │ │ │ │ │ ├── arm_boolean_distance_template.h │ │ │ │ │ │ ├── arm_braycurtis_distance_f32.c │ │ │ │ │ │ ├── arm_canberra_distance_f32.c │ │ │ │ │ │ ├── arm_chebyshev_distance_f32.c │ │ │ │ │ │ ├── arm_cityblock_distance_f32.c │ │ │ │ │ │ ├── arm_correlation_distance_f32.c │ │ │ │ │ │ ├── arm_cosine_distance_f32.c │ │ │ │ │ │ ├── arm_dice_distance.c │ │ │ │ │ │ ├── arm_euclidean_distance_f32.c │ │ │ │ │ │ ├── arm_hamming_distance.c │ │ │ │ │ │ ├── arm_jaccard_distance.c │ │ │ │ │ │ ├── arm_jensenshannon_distance_f32.c │ │ │ │ │ │ ├── arm_kulsinski_distance.c │ │ │ │ │ │ ├── arm_minkowski_distance_f32.c │ │ │ │ │ │ ├── arm_rogerstanimoto_distance.c │ │ │ │ │ │ ├── arm_russellrao_distance.c │ │ │ │ │ │ ├── arm_sokalmichener_distance.c │ │ │ │ │ │ ├── arm_sokalsneath_distance.c │ │ │ │ │ │ └── arm_yule_distance.c │ │ │ │ │ │ ├── FastMathFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── FastMathFunctions.c │ │ │ │ │ │ ├── arm_cos_f32.c │ │ │ │ │ │ ├── arm_cos_q15.c │ │ │ │ │ │ ├── arm_cos_q31.c │ │ │ │ │ │ ├── arm_sin_f32.c │ │ │ │ │ │ ├── arm_sin_q15.c │ │ │ │ │ │ ├── arm_sin_q31.c │ │ │ │ │ │ ├── arm_sqrt_q15.c │ │ │ │ │ │ ├── arm_sqrt_q31.c │ │ │ │ │ │ ├── arm_vexp_f32.c │ │ │ │ │ │ └── arm_vlog_f32.c │ │ │ │ │ │ ├── FilteringFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── FilteringFunctions.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_32x64_init_q31.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_32x64_q31.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_f32.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_fast_q15.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_fast_q31.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_init_f32.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_init_q15.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_init_q31.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_q15.c │ │ │ │ │ │ ├── arm_biquad_cascade_df1_q31.c │ │ │ │ │ │ ├── arm_biquad_cascade_df2T_f32.c │ │ │ │ │ │ ├── arm_biquad_cascade_df2T_f64.c │ │ │ │ │ │ ├── arm_biquad_cascade_df2T_init_f32.c │ │ │ │ │ │ ├── arm_biquad_cascade_df2T_init_f64.c │ │ │ │ │ │ ├── arm_biquad_cascade_stereo_df2T_f32.c │ │ │ │ │ │ ├── arm_biquad_cascade_stereo_df2T_init_f32.c │ │ │ │ │ │ ├── arm_conv_f32.c │ │ │ │ │ │ ├── arm_conv_fast_opt_q15.c │ │ │ │ │ │ ├── arm_conv_fast_q15.c │ │ │ │ │ │ ├── arm_conv_fast_q31.c │ │ │ │ │ │ ├── arm_conv_opt_q15.c │ │ │ │ │ │ ├── arm_conv_opt_q7.c │ │ │ │ │ │ ├── arm_conv_partial_f32.c │ │ │ │ │ │ ├── arm_conv_partial_fast_opt_q15.c │ │ │ │ │ │ ├── arm_conv_partial_fast_q15.c │ │ │ │ │ │ ├── arm_conv_partial_fast_q31.c │ │ │ │ │ │ ├── arm_conv_partial_opt_q15.c │ │ │ │ │ │ ├── arm_conv_partial_opt_q7.c │ │ │ │ │ │ ├── arm_conv_partial_q15.c │ │ │ │ │ │ ├── arm_conv_partial_q31.c │ │ │ │ │ │ ├── arm_conv_partial_q7.c │ │ │ │ │ │ ├── arm_conv_q15.c │ │ │ │ │ │ ├── arm_conv_q31.c │ │ │ │ │ │ ├── arm_conv_q7.c │ │ │ │ │ │ ├── arm_correlate_f32.c │ │ │ │ │ │ ├── arm_correlate_fast_opt_q15.c │ │ │ │ │ │ ├── arm_correlate_fast_q15.c │ │ │ │ │ │ ├── arm_correlate_fast_q31.c │ │ │ │ │ │ ├── arm_correlate_opt_q15.c │ │ │ │ │ │ ├── arm_correlate_opt_q7.c │ │ │ │ │ │ ├── arm_correlate_q15.c │ │ │ │ │ │ ├── arm_correlate_q31.c │ │ │ │ │ │ ├── arm_correlate_q7.c │ │ │ │ │ │ ├── arm_fir_decimate_f32.c │ │ │ │ │ │ ├── arm_fir_decimate_fast_q15.c │ │ │ │ │ │ ├── arm_fir_decimate_fast_q31.c │ │ │ │ │ │ ├── arm_fir_decimate_init_f32.c │ │ │ │ │ │ ├── arm_fir_decimate_init_q15.c │ │ │ │ │ │ ├── arm_fir_decimate_init_q31.c │ │ │ │ │ │ ├── arm_fir_decimate_q15.c │ │ │ │ │ │ ├── arm_fir_decimate_q31.c │ │ │ │ │ │ ├── arm_fir_f32.c │ │ │ │ │ │ ├── arm_fir_fast_q15.c │ │ │ │ │ │ ├── arm_fir_fast_q31.c │ │ │ │ │ │ ├── arm_fir_init_f32.c │ │ │ │ │ │ ├── arm_fir_init_q15.c │ │ │ │ │ │ ├── arm_fir_init_q31.c │ │ │ │ │ │ ├── arm_fir_init_q7.c │ │ │ │ │ │ ├── arm_fir_interpolate_f32.c │ │ │ │ │ │ ├── arm_fir_interpolate_init_f32.c │ │ │ │ │ │ ├── arm_fir_interpolate_init_q15.c │ │ │ │ │ │ ├── arm_fir_interpolate_init_q31.c │ │ │ │ │ │ ├── arm_fir_interpolate_q15.c │ │ │ │ │ │ ├── arm_fir_interpolate_q31.c │ │ │ │ │ │ ├── arm_fir_lattice_f32.c │ │ │ │ │ │ ├── arm_fir_lattice_init_f32.c │ │ │ │ │ │ ├── arm_fir_lattice_init_q15.c │ │ │ │ │ │ ├── arm_fir_lattice_init_q31.c │ │ │ │ │ │ ├── arm_fir_lattice_q15.c │ │ │ │ │ │ ├── arm_fir_lattice_q31.c │ │ │ │ │ │ ├── arm_fir_q15.c │ │ │ │ │ │ ├── arm_fir_q31.c │ │ │ │ │ │ ├── arm_fir_q7.c │ │ │ │ │ │ ├── arm_fir_sparse_f32.c │ │ │ │ │ │ ├── arm_fir_sparse_init_f32.c │ │ │ │ │ │ ├── arm_fir_sparse_init_q15.c │ │ │ │ │ │ ├── arm_fir_sparse_init_q31.c │ │ │ │ │ │ ├── arm_fir_sparse_init_q7.c │ │ │ │ │ │ ├── arm_fir_sparse_q15.c │ │ │ │ │ │ ├── arm_fir_sparse_q31.c │ │ │ │ │ │ ├── arm_fir_sparse_q7.c │ │ │ │ │ │ ├── arm_iir_lattice_f32.c │ │ │ │ │ │ ├── arm_iir_lattice_init_f32.c │ │ │ │ │ │ ├── arm_iir_lattice_init_q15.c │ │ │ │ │ │ ├── arm_iir_lattice_init_q31.c │ │ │ │ │ │ ├── arm_iir_lattice_q15.c │ │ │ │ │ │ ├── arm_iir_lattice_q31.c │ │ │ │ │ │ ├── arm_lms_f32.c │ │ │ │ │ │ ├── arm_lms_init_f32.c │ │ │ │ │ │ ├── arm_lms_init_q15.c │ │ │ │ │ │ ├── arm_lms_init_q31.c │ │ │ │ │ │ ├── arm_lms_norm_f32.c │ │ │ │ │ │ ├── arm_lms_norm_init_f32.c │ │ │ │ │ │ ├── arm_lms_norm_init_q15.c │ │ │ │ │ │ ├── arm_lms_norm_init_q31.c │ │ │ │ │ │ ├── arm_lms_norm_q15.c │ │ │ │ │ │ ├── arm_lms_norm_q31.c │ │ │ │ │ │ ├── arm_lms_q15.c │ │ │ │ │ │ └── arm_lms_q31.c │ │ │ │ │ │ ├── MatrixFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── MatrixFunctions.c │ │ │ │ │ │ ├── arm_mat_add_f32.c │ │ │ │ │ │ ├── arm_mat_add_q15.c │ │ │ │ │ │ ├── arm_mat_add_q31.c │ │ │ │ │ │ ├── arm_mat_cmplx_mult_f32.c │ │ │ │ │ │ ├── arm_mat_cmplx_mult_q15.c │ │ │ │ │ │ ├── arm_mat_cmplx_mult_q31.c │ │ │ │ │ │ ├── arm_mat_init_f32.c │ │ │ │ │ │ ├── arm_mat_init_q15.c │ │ │ │ │ │ ├── arm_mat_init_q31.c │ │ │ │ │ │ ├── arm_mat_inverse_f32.c │ │ │ │ │ │ ├── arm_mat_inverse_f64.c │ │ │ │ │ │ ├── arm_mat_mult_f32.c │ │ │ │ │ │ ├── arm_mat_mult_fast_q15.c │ │ │ │ │ │ ├── arm_mat_mult_fast_q31.c │ │ │ │ │ │ ├── arm_mat_mult_q15.c │ │ │ │ │ │ ├── arm_mat_mult_q31.c │ │ │ │ │ │ ├── arm_mat_scale_f32.c │ │ │ │ │ │ ├── arm_mat_scale_q15.c │ │ │ │ │ │ ├── arm_mat_scale_q31.c │ │ │ │ │ │ ├── arm_mat_sub_f32.c │ │ │ │ │ │ ├── arm_mat_sub_q15.c │ │ │ │ │ │ ├── arm_mat_sub_q31.c │ │ │ │ │ │ ├── arm_mat_trans_f32.c │ │ │ │ │ │ ├── arm_mat_trans_q15.c │ │ │ │ │ │ └── arm_mat_trans_q31.c │ │ │ │ │ │ ├── SVMFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── SVMFunctions.c │ │ │ │ │ │ ├── arm_svm_linear_init_f32.c │ │ │ │ │ │ ├── arm_svm_linear_predict_f32.c │ │ │ │ │ │ ├── arm_svm_polynomial_init_f32.c │ │ │ │ │ │ ├── arm_svm_polynomial_predict_f32.c │ │ │ │ │ │ ├── arm_svm_rbf_init_f32.c │ │ │ │ │ │ ├── arm_svm_rbf_predict_f32.c │ │ │ │ │ │ ├── arm_svm_sigmoid_init_f32.c │ │ │ │ │ │ └── arm_svm_sigmoid_predict_f32.c │ │ │ │ │ │ ├── StatisticsFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── StatisticsFunctions.c │ │ │ │ │ │ ├── arm_entropy_f32.c │ │ │ │ │ │ ├── arm_entropy_f64.c │ │ │ │ │ │ ├── arm_kullback_leibler_f32.c │ │ │ │ │ │ ├── arm_kullback_leibler_f64.c │ │ │ │ │ │ ├── arm_logsumexp_dot_prod_f32.c │ │ │ │ │ │ ├── arm_logsumexp_f32.c │ │ │ │ │ │ ├── arm_max_f32.c │ │ │ │ │ │ ├── arm_max_no_idx_f32.c │ │ │ │ │ │ ├── arm_max_q15.c │ │ │ │ │ │ ├── arm_max_q31.c │ │ │ │ │ │ ├── arm_max_q7.c │ │ │ │ │ │ ├── arm_mean_f32.c │ │ │ │ │ │ ├── arm_mean_q15.c │ │ │ │ │ │ ├── arm_mean_q31.c │ │ │ │ │ │ ├── arm_mean_q7.c │ │ │ │ │ │ ├── arm_min_f32.c │ │ │ │ │ │ ├── arm_min_q15.c │ │ │ │ │ │ ├── arm_min_q31.c │ │ │ │ │ │ ├── arm_min_q7.c │ │ │ │ │ │ ├── arm_power_f32.c │ │ │ │ │ │ ├── arm_power_q15.c │ │ │ │ │ │ ├── arm_power_q31.c │ │ │ │ │ │ ├── arm_power_q7.c │ │ │ │ │ │ ├── arm_rms_f32.c │ │ │ │ │ │ ├── arm_rms_q15.c │ │ │ │ │ │ ├── arm_rms_q31.c │ │ │ │ │ │ ├── arm_std_f32.c │ │ │ │ │ │ ├── arm_std_q15.c │ │ │ │ │ │ ├── arm_std_q31.c │ │ │ │ │ │ ├── arm_var_f32.c │ │ │ │ │ │ ├── arm_var_q15.c │ │ │ │ │ │ └── arm_var_q31.c │ │ │ │ │ │ ├── SupportFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── SupportFunctions.c │ │ │ │ │ │ ├── arm_barycenter_f32.c │ │ │ │ │ │ ├── arm_bitonic_sort_f32.c │ │ │ │ │ │ ├── arm_bubble_sort_f32.c │ │ │ │ │ │ ├── arm_copy_f32.c │ │ │ │ │ │ ├── arm_copy_q15.c │ │ │ │ │ │ ├── arm_copy_q31.c │ │ │ │ │ │ ├── arm_copy_q7.c │ │ │ │ │ │ ├── arm_fill_f32.c │ │ │ │ │ │ ├── arm_fill_q15.c │ │ │ │ │ │ ├── arm_fill_q31.c │ │ │ │ │ │ ├── arm_fill_q7.c │ │ │ │ │ │ ├── arm_float_to_q15.c │ │ │ │ │ │ ├── arm_float_to_q31.c │ │ │ │ │ │ ├── arm_float_to_q7.c │ │ │ │ │ │ ├── arm_heap_sort_f32.c │ │ │ │ │ │ ├── arm_insertion_sort_f32.c │ │ │ │ │ │ ├── arm_merge_sort_f32.c │ │ │ │ │ │ ├── arm_merge_sort_init_f32.c │ │ │ │ │ │ ├── arm_q15_to_float.c │ │ │ │ │ │ ├── arm_q15_to_q31.c │ │ │ │ │ │ ├── arm_q15_to_q7.c │ │ │ │ │ │ ├── arm_q31_to_float.c │ │ │ │ │ │ ├── arm_q31_to_q15.c │ │ │ │ │ │ ├── arm_q31_to_q7.c │ │ │ │ │ │ ├── arm_q7_to_float.c │ │ │ │ │ │ ├── arm_q7_to_q15.c │ │ │ │ │ │ ├── arm_q7_to_q31.c │ │ │ │ │ │ ├── arm_quick_sort_f32.c │ │ │ │ │ │ ├── arm_selection_sort_f32.c │ │ │ │ │ │ ├── arm_sort_f32.c │ │ │ │ │ │ ├── arm_sort_init_f32.c │ │ │ │ │ │ ├── arm_spline_interp_f32.c │ │ │ │ │ │ ├── arm_spline_interp_init_f32.c │ │ │ │ │ │ └── arm_weighted_sum_f32.c │ │ │ │ │ │ ├── TransformFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── TransformFunctions.c │ │ │ │ │ │ ├── arm_bitreversal.c │ │ │ │ │ │ ├── arm_bitreversal2.S │ │ │ │ │ │ ├── arm_bitreversal2.c │ │ │ │ │ │ ├── arm_cfft_f32.c │ │ │ │ │ │ ├── arm_cfft_f64.c │ │ │ │ │ │ ├── arm_cfft_init_f32.c │ │ │ │ │ │ ├── arm_cfft_init_f64.c │ │ │ │ │ │ ├── arm_cfft_init_q15.c │ │ │ │ │ │ ├── arm_cfft_init_q31.c │ │ │ │ │ │ ├── arm_cfft_q15.c │ │ │ │ │ │ ├── arm_cfft_q31.c │ │ │ │ │ │ ├── arm_cfft_radix2_f32.c │ │ │ │ │ │ ├── arm_cfft_radix2_init_f32.c │ │ │ │ │ │ ├── arm_cfft_radix2_init_q15.c │ │ │ │ │ │ ├── arm_cfft_radix2_init_q31.c │ │ │ │ │ │ ├── arm_cfft_radix2_q15.c │ │ │ │ │ │ ├── arm_cfft_radix2_q31.c │ │ │ │ │ │ ├── arm_cfft_radix4_f32.c │ │ │ │ │ │ ├── arm_cfft_radix4_init_f32.c │ │ │ │ │ │ ├── arm_cfft_radix4_init_q15.c │ │ │ │ │ │ ├── arm_cfft_radix4_init_q31.c │ │ │ │ │ │ ├── arm_cfft_radix4_q15.c │ │ │ │ │ │ ├── arm_cfft_radix4_q31.c │ │ │ │ │ │ ├── arm_cfft_radix8_f32.c │ │ │ │ │ │ ├── arm_dct4_f32.c │ │ │ │ │ │ ├── arm_dct4_init_f32.c │ │ │ │ │ │ ├── arm_dct4_init_q15.c │ │ │ │ │ │ ├── arm_dct4_init_q31.c │ │ │ │ │ │ ├── arm_dct4_q15.c │ │ │ │ │ │ ├── arm_dct4_q31.c │ │ │ │ │ │ ├── arm_rfft_f32.c │ │ │ │ │ │ ├── arm_rfft_fast_f32.c │ │ │ │ │ │ ├── arm_rfft_fast_f64.c │ │ │ │ │ │ ├── arm_rfft_fast_init_f32.c │ │ │ │ │ │ ├── arm_rfft_fast_init_f64.c │ │ │ │ │ │ ├── arm_rfft_init_f32.c │ │ │ │ │ │ ├── arm_rfft_init_q15.c │ │ │ │ │ │ ├── arm_rfft_init_q31.c │ │ │ │ │ │ ├── arm_rfft_q15.c │ │ │ │ │ │ └── arm_rfft_q31.c │ │ │ │ │ │ ├── configDsp.cmake │ │ │ │ │ │ ├── fft.cmake │ │ │ │ │ │ └── interpol.cmake │ │ │ │ ├── Include │ │ │ │ │ ├── arm_common_tables.h │ │ │ │ │ ├── arm_const_structs.h │ │ │ │ │ ├── arm_helium_utils.h │ │ │ │ │ ├── arm_math.h │ │ │ │ │ ├── arm_mve_tables.h │ │ │ │ │ ├── arm_vec_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 │ │ │ │ ├── NN │ │ │ │ │ ├── Include │ │ │ │ │ │ ├── arm_nn_tables.h │ │ │ │ │ │ ├── arm_nnfunctions.h │ │ │ │ │ │ └── arm_nnsupportfunctions.h │ │ │ │ │ ├── README.md │ │ │ │ │ ├── Scripts │ │ │ │ │ │ └── NNFunctions │ │ │ │ │ │ │ ├── fully_connected_opt_weight_generation.py │ │ │ │ │ │ │ └── table_gen.py │ │ │ │ │ └── Source │ │ │ │ │ │ ├── ActivationFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm_nn_activations_q15.c │ │ │ │ │ │ ├── arm_nn_activations_q7.c │ │ │ │ │ │ ├── arm_relu6_s8.c │ │ │ │ │ │ ├── arm_relu_q15.c │ │ │ │ │ │ └── arm_relu_q7.c │ │ │ │ │ │ ├── BasicMathFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm_elementwise_add_s8.c │ │ │ │ │ │ └── arm_elementwise_mul_s8.c │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── ConcatenationFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm_concatenation_s8_w.c │ │ │ │ │ │ ├── arm_concatenation_s8_x.c │ │ │ │ │ │ ├── arm_concatenation_s8_y.c │ │ │ │ │ │ └── arm_concatenation_s8_z.c │ │ │ │ │ │ ├── ConvolutionFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm_convolve_1_x_n_s8.c │ │ │ │ │ │ ├── arm_convolve_1x1_HWC_q7_fast_nonsquare.c │ │ │ │ │ │ ├── arm_convolve_1x1_s8_fast.c │ │ │ │ │ │ ├── arm_convolve_HWC_q15_basic.c │ │ │ │ │ │ ├── arm_convolve_HWC_q15_fast.c │ │ │ │ │ │ ├── arm_convolve_HWC_q15_fast_nonsquare.c │ │ │ │ │ │ ├── arm_convolve_HWC_q7_RGB.c │ │ │ │ │ │ ├── arm_convolve_HWC_q7_basic.c │ │ │ │ │ │ ├── arm_convolve_HWC_q7_basic_nonsquare.c │ │ │ │ │ │ ├── arm_convolve_HWC_q7_fast.c │ │ │ │ │ │ ├── arm_convolve_HWC_q7_fast_nonsquare.c │ │ │ │ │ │ ├── arm_convolve_s8.c │ │ │ │ │ │ ├── arm_depthwise_conv_3x3_s8.c │ │ │ │ │ │ ├── arm_depthwise_conv_s8.c │ │ │ │ │ │ ├── arm_depthwise_conv_s8_opt.c │ │ │ │ │ │ ├── arm_depthwise_conv_u8_basic_ver1.c │ │ │ │ │ │ ├── arm_depthwise_separable_conv_HWC_q7.c │ │ │ │ │ │ ├── arm_depthwise_separable_conv_HWC_q7_nonsquare.c │ │ │ │ │ │ ├── arm_nn_depthwise_conv_s8_core.c │ │ │ │ │ │ ├── arm_nn_mat_mult_kernel_q7_q15.c │ │ │ │ │ │ ├── arm_nn_mat_mult_kernel_q7_q15_reordered.c │ │ │ │ │ │ ├── arm_nn_mat_mult_kernel_s8_s16.c │ │ │ │ │ │ ├── arm_nn_mat_mult_kernel_s8_s16_reordered.c │ │ │ │ │ │ └── arm_nn_mat_mult_s8.c │ │ │ │ │ │ ├── FullyConnectedFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm_fully_connected_mat_q7_vec_q15.c │ │ │ │ │ │ ├── arm_fully_connected_mat_q7_vec_q15_opt.c │ │ │ │ │ │ ├── arm_fully_connected_q15.c │ │ │ │ │ │ ├── arm_fully_connected_q15_opt.c │ │ │ │ │ │ ├── arm_fully_connected_q7.c │ │ │ │ │ │ ├── arm_fully_connected_q7_opt.c │ │ │ │ │ │ └── arm_fully_connected_s8.c │ │ │ │ │ │ ├── NNSupportFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm_nn_accumulate_q7_to_q15.c │ │ │ │ │ │ ├── arm_nn_add_q7.c │ │ │ │ │ │ ├── arm_nn_depthwise_conv_nt_t_padded_s8.c │ │ │ │ │ │ ├── arm_nn_depthwise_conv_nt_t_s8.c │ │ │ │ │ │ ├── arm_nn_mat_mul_core_1x_s8.c │ │ │ │ │ │ ├── arm_nn_mat_mul_core_4x_s8.c │ │ │ │ │ │ ├── arm_nn_mat_mult_nt_t_s8.c │ │ │ │ │ │ ├── arm_nn_mult_q15.c │ │ │ │ │ │ ├── arm_nn_mult_q7.c │ │ │ │ │ │ ├── arm_nn_vec_mat_mult_t_s8.c │ │ │ │ │ │ ├── arm_nntables.c │ │ │ │ │ │ ├── arm_q7_to_q15_no_shift.c │ │ │ │ │ │ ├── arm_q7_to_q15_reordered_no_shift.c │ │ │ │ │ │ ├── arm_q7_to_q15_reordered_with_offset.c │ │ │ │ │ │ └── arm_q7_to_q15_with_offset.c │ │ │ │ │ │ ├── PoolingFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm_avgpool_s8.c │ │ │ │ │ │ ├── arm_max_pool_s8.c │ │ │ │ │ │ ├── arm_max_pool_s8_opt.c │ │ │ │ │ │ └── arm_pool_q7_HWC.c │ │ │ │ │ │ ├── ReshapeFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── arm_reshape_s8.c │ │ │ │ │ │ └── SoftmaxFunctions │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm_softmax_q15.c │ │ │ │ │ │ ├── arm_softmax_q7.c │ │ │ │ │ │ ├── arm_softmax_s8.c │ │ │ │ │ │ ├── arm_softmax_u8.c │ │ │ │ │ │ └── arm_softmax_with_batch_q7.c │ │ │ │ └── readme_patch.txt │ │ │ ├── CMakeLists.txt │ │ │ ├── arm_compiler.h │ │ │ ├── retarget_io.c │ │ │ ├── type.h │ │ │ └── vsf_stdio_lib_armv6_m_abv.a │ │ ├── compiler.h │ │ ├── mcs51 │ │ │ ├── CMakeLists.txt │ │ │ ├── mcs51_compiler.h │ │ │ ├── mcs51_interrupt.c │ │ │ ├── msc51_interrupt.h │ │ │ ├── retarget_io.c │ │ │ └── type.h │ │ ├── rv │ │ │ ├── CMakeLists.txt │ │ │ ├── RISCV │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── drivers │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── n200_eclic.h │ │ │ │ │ ├── n200_func.c │ │ │ │ │ ├── n200_func.h │ │ │ │ │ ├── n200_timer.h │ │ │ │ │ ├── riscv_bits.h │ │ │ │ │ ├── riscv_const.h │ │ │ │ │ └── riscv_encoding.h │ │ │ │ └── riscv_compiler.h │ │ │ ├── retarget_io.c │ │ │ ├── rv_compiler.h │ │ │ └── type.h │ │ └── x86 │ │ │ ├── CMakeLists.txt │ │ │ ├── type.h │ │ │ └── x86_compiler.h │ ├── language_extension │ │ ├── CMakeLists.txt │ │ ├── code_region.c │ │ ├── code_region.h │ │ ├── delegate.c │ │ ├── delegate.h │ │ ├── language_extension.h │ │ ├── simple_sprintf.c │ │ └── simple_sscanf.c │ ├── ooc_class.h │ ├── preprocessor │ │ ├── mf_u8_dec2str.h │ │ ├── vsf_connect.h │ │ └── vsf_repeat_macro.h │ ├── template │ │ ├── CMakeLists.txt │ │ ├── template.h │ │ ├── vsf_bitmap.c │ │ ├── vsf_bitmap.h │ │ ├── vsf_list.c │ │ ├── vsf_list.h │ │ ├── vsf_queue.c │ │ └── vsf_queue.h │ ├── vsf_utilities.h │ └── vsf_utilities_cfg.h ├── vsf.h └── vsf_cfg.h └── vsf_private ├── CMakeLists.txt ├── hal ├── CMakeLists.txt └── driver │ ├── CMakeLists.txt │ └── GigaDevice │ ├── CMakeLists.txt │ ├── GD32E10X │ ├── CMakeLists.txt │ ├── __device.h │ ├── common │ │ ├── CMakeLists.txt │ │ ├── __common.c │ │ ├── __common.h │ │ ├── dma.c │ │ ├── dma.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── io.c │ │ ├── io.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── startup_gd32e10x.c │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb │ │ │ ├── CMakeLists.txt │ │ │ ├── dc │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── usbd.c │ │ │ │ └── usbd.h │ │ │ ├── hc │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── usbh.c │ │ │ │ └── usbh.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_common.c │ │ │ └── usb_lv0.c │ │ └── vendor │ │ │ └── Include │ │ │ ├── gd32e10x.h │ │ │ ├── gd32e10x_adc.h │ │ │ ├── gd32e10x_bkp.h │ │ │ ├── gd32e10x_can.h │ │ │ ├── gd32e10x_crc.h │ │ │ ├── gd32e10x_ctc.h │ │ │ ├── gd32e10x_dac.h │ │ │ ├── gd32e10x_dbg.h │ │ │ ├── gd32e10x_dma.h │ │ │ ├── gd32e10x_exmc.h │ │ │ ├── gd32e10x_exti.h │ │ │ ├── gd32e10x_fmc.h │ │ │ ├── gd32e10x_fwdgt.h │ │ │ ├── gd32e10x_gpio.h │ │ │ ├── gd32e10x_i2c.h │ │ │ ├── gd32e10x_misc.h │ │ │ ├── gd32e10x_pmu.h │ │ │ ├── gd32e10x_rcu.h │ │ │ ├── gd32e10x_rtc.h │ │ │ ├── gd32e10x_spi.h │ │ │ ├── gd32e10x_timer.h │ │ │ ├── gd32e10x_usart.h │ │ │ └── gd32e10x_wwdgt.h │ ├── device.h │ ├── driver.c │ ├── driver.h │ ├── jtag.c │ ├── jtag.h │ ├── swd.c │ ├── swd.h │ ├── timestamp.c │ └── timestamp.h │ ├── GD32F3X0 │ ├── CMakeLists.txt │ ├── __device.h │ ├── common │ │ ├── CMakeLists.txt │ │ ├── __common.c │ │ ├── __common.h │ │ ├── dma.c │ │ ├── dma.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── io.c │ │ ├── io.h │ │ ├── spi.c │ │ ├── spi.h │ │ ├── startup_gd32f3x0.c │ │ ├── usart.c │ │ ├── usart.h │ │ ├── usb │ │ │ ├── CMakeLists.txt │ │ │ ├── dc │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── usbd.c │ │ │ │ └── usbd.h │ │ │ ├── hc │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── usbh.c │ │ │ │ └── usbh.h │ │ │ ├── usb.c │ │ │ ├── usb.h │ │ │ ├── usb_common.c │ │ │ └── usb_lv0.c │ │ └── vendor │ │ │ └── Include │ │ │ ├── gd32f3x0.h │ │ │ ├── gd32f3x0_adc.h │ │ │ ├── gd32f3x0_cec.h │ │ │ ├── gd32f3x0_cmp.h │ │ │ ├── gd32f3x0_crc.h │ │ │ ├── gd32f3x0_ctc.h │ │ │ ├── gd32f3x0_dac.h │ │ │ ├── gd32f3x0_dbg.h │ │ │ ├── gd32f3x0_dma.h │ │ │ ├── gd32f3x0_exti.h │ │ │ ├── gd32f3x0_fmc.h │ │ │ ├── gd32f3x0_fwdgt.h │ │ │ ├── gd32f3x0_gpio.h │ │ │ ├── gd32f3x0_i2c.h │ │ │ ├── gd32f3x0_misc.h │ │ │ ├── gd32f3x0_pmu.h │ │ │ ├── gd32f3x0_rcu.h │ │ │ ├── gd32f3x0_rtc.h │ │ │ ├── gd32f3x0_spi.h │ │ │ ├── gd32f3x0_syscfg.h │ │ │ ├── gd32f3x0_timer.h │ │ │ ├── gd32f3x0_tsi.h │ │ │ ├── gd32f3x0_usart.h │ │ │ └── gd32f3x0_wwdgt.h │ ├── device.h │ ├── driver.c │ ├── driver.h │ ├── jtag.c │ ├── jtag.h │ ├── swd.c │ ├── swd.h │ ├── timestamp.c │ └── timestamp.h │ └── driver.h └── user_vsf.h /README.md: -------------------------------------------------------------------------------- 1 | # Vllink HighSpeed 2 | 3 | ## 简介 4 | 5 | Vllink Highspeed是一款中低成本高性能调试器。相比Lite版,支持USB2.0高速、更好的IO时序优化、更好的CPU速度,预计JTAG/SWD接口对目标芯片SRAM速度可以达到MB/S的级别,媲美当前千元级别调试器。 6 | 7 | ## 硬件 8 | 9 | ![top](./hardware/vllink_highspeed.r1/vllink_highspeed.r1.top.png) 10 | ![bottom](./hardware/vllink_highspeed.r1/vllink_highspeed.r1.bottom.png) 11 | ![top45](./hardware/vllink_highspeed.r1/vllink_highspeed.r1.top45.png) 12 | 13 | ## 功能 14 | * JTAG/SWD接口(TDI,TMS,TCK,SRST,TDO,TRST) 15 | * 2路独立串口(TX1,RX1,TX2,RX2),1路共用串口(TDO,SRST) 16 | * 4通道逻辑分析输入口(CH0,CH1,CH2,CH3) 17 | * 具有电平转换电路,同时支持外部参考电源与内部数字可调电源1.5V至4.75V(Vdrv) 18 | * 使用内部电源对外供电时,支持电流测量(Vdrv) 19 | * OLED_12864(全彩LED可选) 20 | * 远超同等价格级别硬件的Code/Data空间 21 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /doc/AN00124_-USB-CDC-Class-as-Virtual-Serial-Port_2.0.2rc1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/AN00124_-USB-CDC-Class-as-Virtual-Serial-Port_2.0.2rc1.pdf -------------------------------------------------------------------------------- /doc/ARM Debug Interface v5 Architecture Specification.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/ARM Debug Interface v5 Architecture Specification.pdf -------------------------------------------------------------------------------- /doc/IEEE_1149_JTAG_and_Boundary_Scan_Tutorial.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/IEEE_1149_JTAG_and_Boundary_Scan_Tutorial.pdf -------------------------------------------------------------------------------- /doc/Serial_Wire_Debug.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/Serial_Wire_Debug.pdf -------------------------------------------------------------------------------- /doc/debug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/debug.png -------------------------------------------------------------------------------- /doc/iar_cmsis_dap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/iar_cmsis_dap.png -------------------------------------------------------------------------------- /doc/iar_debugger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/iar_debugger.png -------------------------------------------------------------------------------- /doc/ide_guide.md: -------------------------------------------------------------------------------- 1 | # 调试器HOST端软件配置使用方法 2 | 3 | ## 说明 4 | 5 | 本教程仅考虑Windows 10环境 6 | 7 | ## IAR 8 | 9 | 1. 适用版本:IAR for ARM 8.32.1及以上 10 | 2. 配置方式: 11 | * ![iar_debugger](./iar_debugger.png) 12 | * ![iar_cmsis_dap](./iar_cmsis_dap.png) 13 | 14 | ## MDK 15 | 16 | 1. 适用版本:MDK-ARM 5.29及以上 17 | 2. 配置方式: 18 | * ![mdk](./mdk.png) 19 | 20 | ## OpenOCD 21 | 22 | 1. 适用版本:增加CMSIS-DAP v2协议支持的版本,[下载地址](https://github.com/vllogic/openocd_cmsis-dap_v2/releases) 23 | 2. 配置方式: 24 | * ![openocd](./openocd.png) 25 | 26 | ## PyOCD 27 | 1. 适用版本:官方Github最新主线代码,[代码地址](https://github.com/mbedmicro/pyOCD),可用此命令安装:`pip install --pre -U https://github.com/mbedmicro/pyOCD/archive/master.zip` 28 | 2. 配置方式:需用zadig安装libusb驱动,[zadig下载地址](https://zadig.akeo.ie/) 29 | * ![libusb_driver](./libusb_driver.png) 30 | * ![pyocd](./pyocd.png) 31 | -------------------------------------------------------------------------------- /doc/idf_configure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/idf_configure.png -------------------------------------------------------------------------------- /doc/idf_gdb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/idf_gdb.png -------------------------------------------------------------------------------- /doc/idf_monitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/idf_monitor.png -------------------------------------------------------------------------------- /doc/idf_openocd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/idf_openocd.png -------------------------------------------------------------------------------- /doc/idf_python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/idf_python.png -------------------------------------------------------------------------------- /doc/idf_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/idf_start.png -------------------------------------------------------------------------------- /doc/idf_verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/idf_verify.png -------------------------------------------------------------------------------- /doc/libusb_driver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/libusb_driver.png -------------------------------------------------------------------------------- /doc/mdk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/mdk.png -------------------------------------------------------------------------------- /doc/openocd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/openocd.png -------------------------------------------------------------------------------- /doc/pyocd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/pyocd.png -------------------------------------------------------------------------------- /doc/usb_interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/doc/usb_interface.png -------------------------------------------------------------------------------- /hardware/vllink_basic/hardware.version1/testpoint.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_basic/hardware.version1/testpoint.pdf -------------------------------------------------------------------------------- /hardware/vllink_basic/hardware.version1/vllink_basic-F_Fab.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_basic/hardware.version1/vllink_basic-F_Fab.pdf -------------------------------------------------------------------------------- /hardware/vllink_basic/hardware.version1/vllink_basic.20211123.interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_basic/hardware.version1/vllink_basic.20211123.interface.png -------------------------------------------------------------------------------- /hardware/vllink_basic/hardware.version1/vllink_basic.20211123.top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_basic/hardware.version1/vllink_basic.20211123.top.png -------------------------------------------------------------------------------- /hardware/vllink_basic/hardware.version1/vllink_basic.board.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_basic/hardware.version1/vllink_basic.board.pdf -------------------------------------------------------------------------------- /hardware/vllink_basic/hardware.version1/vllink_basic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_basic/hardware.version1/vllink_basic.pdf -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r0/gerber/PCB 工艺.txt: -------------------------------------------------------------------------------- 1 | 双面板,板厚1.6mm,FR-4,红油白字,其他默认 -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r0/gerber/vllink_highspeed.r0-Edge_Cuts.gbr: -------------------------------------------------------------------------------- 1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3* 2 | G04 #@! TF.CreationDate,2020-04-08T14:33:05+08:00* 3 | G04 #@! TF.ProjectId,vllink_highspeed.r0,766c6c69-6e6b-45f6-9869-676873706565,rev?* 4 | G04 #@! TF.SameCoordinates,Original* 5 | G04 #@! TF.FileFunction,Profile,NP* 6 | %FSLAX46Y46*% 7 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 8 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2020-04-08 14:33:05* 9 | %MOMM*% 10 | %LPD*% 11 | G04 APERTURE LIST* 12 | %ADD10C,0.050000*% 13 | G04 APERTURE END LIST* 14 | D10* 15 | X105000000Y-133000000D02* 16 | G75* 17 | G03X105000000Y-133000000I-1000000J0D01* 18 | G01* 19 | X153000000Y-133000000D02* 20 | G75* 21 | G03X153000000Y-133000000I-1000000J0D01* 22 | G01* 23 | X153000000Y-104000000D02* 24 | G75* 25 | G03X153000000Y-104000000I-1000000J0D01* 26 | G01* 27 | X105000000Y-104000000D02* 28 | G75* 29 | G03X105000000Y-104000000I-1000000J0D01* 30 | G01* 31 | X156000000Y-128000000D02* 32 | G75* 33 | G02X148000000Y-136000000I-8000000J0D01* 34 | G01* 35 | X100000000Y-108000000D02* 36 | G75* 37 | G02X108000000Y-100000000I8000000J0D01* 38 | G01* 39 | X156000000Y-100000000D02* 40 | X108000000Y-100000000D01* 41 | X156000000Y-128000000D02* 42 | X156000000Y-100000000D01* 43 | X100000000Y-136000000D02* 44 | X148000000Y-136000000D01* 45 | X100000000Y-108000000D02* 46 | X100000000Y-136000000D01* 47 | M02* 48 | -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r0/gerber/vllink_highspeed.r0-NPTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad (5.1.5)-3} date 2020/4/8 14:33:14 3 | ; FORMAT={-:-/ absolute / inch / decimal} 4 | ; #@! TF.CreationDate,2020-04-08T14:33:14+08:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.5)-3 6 | ; #@! TF.FileFunction,NonPlated,1,2,NPTH 7 | FMAT,2 8 | INCH 9 | T1C0.0236 10 | % 11 | G90 12 | G05 13 | T1 14 | X4.1461Y-4.5319 15 | X4.1461Y-4.7594 16 | T0 17 | M30 18 | -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r0/vllink_highspeed.r0.bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r0/vllink_highspeed.r0.bottom.png -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r0/vllink_highspeed.r0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r0/vllink_highspeed.r0.pdf -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r0/vllink_highspeed.r0.top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r0/vllink_highspeed.r0.top.png -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r0/vllink_highspeed.r0.top45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r0/vllink_highspeed.r0.top45.png -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r0/vllink_highspeed.r0.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r0/vllink_highspeed.r0.xls -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r1/gerber/vllink_highspeed.r1-EdgeCuts.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.5)-3*% 2 | %TF.CreationDate,2020-04-26T22:01:22+08:00*% 3 | %TF.ProjectId,vllink_highspeed.r1,766c6c69-6e6b-45f6-9869-676873706565,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Profile,NP*% 6 | %FSLAX46Y46*% 7 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 8 | G04 Created by KiCad (PCBNEW (5.1.5)-3) date 2020-04-26 22:01:22* 9 | %MOMM*% 10 | %LPD*% 11 | G04 APERTURE LIST* 12 | %ADD10C,0.050000*% 13 | G04 APERTURE END LIST* 14 | D10* 15 | X101750000Y-135750000D02* 16 | X148000000Y-135750000D01* 17 | X156000000Y-127750000D02* 18 | X156000000Y-101500000D01* 19 | X100000000Y-107750000D02* 20 | X100000000Y-134000000D01* 21 | X154250000Y-99750000D02* 22 | X108000000Y-99750000D01* 23 | X101750000Y-135750000D02* 24 | G75* 25 | G02X100000000Y-134000000I0J1750000D01* 26 | G01* 27 | X154250000Y-99750000D02* 28 | G75* 29 | G02X156000000Y-101500000I0J-1750000D01* 30 | G01* 31 | X105000000Y-132250000D02* 32 | G75* 33 | G03X105000000Y-132250000I-1000000J0D01* 34 | G01* 35 | X153000000Y-132250000D02* 36 | G75* 37 | G03X153000000Y-132250000I-1000000J0D01* 38 | G01* 39 | X153000000Y-103250000D02* 40 | G75* 41 | G03X153000000Y-103250000I-1000000J0D01* 42 | G01* 43 | X105000000Y-103250000D02* 44 | G75* 45 | G03X105000000Y-103250000I-1000000J0D01* 46 | G01* 47 | X156000000Y-127750000D02* 48 | G75* 49 | G02X148000000Y-135750000I-8000000J0D01* 50 | G01* 51 | X100000000Y-107750000D02* 52 | G75* 53 | G02X108000000Y-99750000I8000000J0D01* 54 | G01* 55 | M02* 56 | -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r1/gerber/vllink_highspeed.r1-NPTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad (5.1.5)-3} date 2020/4/26 22:01:22 3 | ; FORMAT={-:-/ absolute / metric / decimal} 4 | ; #@! TF.CreationDate,2020-04-26T22:01:22+08:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.5)-3 6 | ; #@! TF.FileFunction,NonPlated,1,2,NPTH 7 | FMAT,2 8 | METRIC 9 | T1C0.600 10 | T2C2.000 11 | % 12 | G90 13 | G05 14 | T1 15 | X104.81Y-114.86 16 | X104.81Y-120.64 17 | T2 18 | X113.03Y-109.423 19 | X113.03Y-133.223 20 | X136.33Y-109.423 21 | X136.33Y-133.223 22 | T0 23 | M30 24 | -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r1/gerber/vllink_highspeed.r1_gerber.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r1/gerber/vllink_highspeed.r1_gerber.zip -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r1/hardware_calc.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r1/hardware_calc.xls -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r1/vllink_highspeed.r1.bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r1/vllink_highspeed.r1.bottom.png -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r1/vllink_highspeed.r1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r1/vllink_highspeed.r1.pdf -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r1/vllink_highspeed.r1.top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r1/vllink_highspeed.r1.top.png -------------------------------------------------------------------------------- /hardware/vllink_highspeed.r1/vllink_highspeed.r1.top45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_highspeed.r1/vllink_highspeed.r1.top45.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/datasheet/GD32F350xx_Datasheet_Rev1.1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/datasheet/GD32F350xx_Datasheet_Rev1.1.pdf -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/datasheet/ams1117.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/datasheet/ams1117.pdf -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/datasheet/w25q64jv spi revc 06032016 kms.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/datasheet/w25q64jv spi revc 06032016 kms.pdf -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/firmware/vllink_lite_app_0x08003000.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/firmware/vllink_lite_app_0x08003000.bin -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/firmware/vllink_lite_bootloader_12KB.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/firmware/vllink_lite_bootloader_12KB.bin -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/firmware/vllink_lite_firmware.full.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/firmware/vllink_lite_firmware.full.bin -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/gerber/PCB 工艺.txt: -------------------------------------------------------------------------------- 1 | 双面板,板厚1.6mm,FR-4,红油白字,其他默认 -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/gerber/vllink_lite.r3-B_Paste.gbr: -------------------------------------------------------------------------------- 1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.4)-1* 2 | G04 #@! TF.CreationDate,2019-11-22T21:00:23+08:00* 3 | G04 #@! TF.ProjectId,vllink_lite.r3,766c6c69-6e6b-45f6-9c69-74652e72332e,rev?* 4 | G04 #@! TF.SameCoordinates,Original* 5 | G04 #@! TF.FileFunction,Paste,Bot* 6 | G04 #@! TF.FilePolarity,Positive* 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW (5.1.4)-1) date 2019-11-22 21:00:23* 10 | %MOMM*% 11 | %LPD*% 12 | G04 APERTURE LIST* 13 | %ADD10R,3.800000X1.400000*% 14 | G04 APERTURE END LIST* 15 | D10* 16 | X129540000Y-116332000D03* 17 | X129540000Y-113792000D03* 18 | X129540000Y-111252000D03* 19 | X129540000Y-108712000D03* 20 | X129540000Y-106172000D03* 21 | M02* 22 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/gerber/vllink_lite.r3-Edge_Cuts.gbr: -------------------------------------------------------------------------------- 1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.4)-1* 2 | G04 #@! TF.CreationDate,2019-11-22T21:00:24+08:00* 3 | G04 #@! TF.ProjectId,vllink_lite.r3,766c6c69-6e6b-45f6-9c69-74652e72332e,rev?* 4 | G04 #@! TF.SameCoordinates,Original* 5 | G04 #@! TF.FileFunction,Profile,NP* 6 | %FSLAX46Y46*% 7 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 8 | G04 Created by KiCad (PCBNEW (5.1.4)-1) date 2019-11-22 21:00:24* 9 | %MOMM*% 10 | %LPD*% 11 | G04 APERTURE LIST* 12 | %ADD10C,0.127000*% 13 | G04 APERTURE END LIST* 14 | D10* 15 | X132842000Y-99568000D02* 16 | X91186000Y-99568000D01* 17 | X134112000Y-102235000D02* 18 | X134112000Y-100838000D01* 19 | X91186000Y-99568000D02* 20 | G75* 21 | G03X88646000Y-102108000I0J-2540000D01* 22 | G01* 23 | X132715000Y-122936000D02* 24 | G75* 25 | G03X133985000Y-121666000I0J1270000D01* 26 | G01* 27 | X131826000Y-102235000D02* 28 | X134112000Y-102235000D01* 29 | X88646000Y-120396000D02* 30 | G75* 31 | G03X91186000Y-122936000I2540000J0D01* 32 | G01* 33 | X133985000Y-121666000D02* 34 | X133985000Y-120269000D01* 35 | X88646000Y-102108000D02* 36 | X88646000Y-120396000D01* 37 | X133985000Y-120269000D02* 38 | X131826000Y-120269000D01* 39 | X131826000Y-120269000D02* 40 | X131826000Y-102235000D01* 41 | X134112000Y-100838000D02* 42 | G75* 43 | G03X132842000Y-99568000I-1270000J0D01* 44 | G01* 45 | X91186000Y-122936000D02* 46 | X132715000Y-122936000D01* 47 | M02* 48 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/gerber/vllink_lite.r3-NPTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad (5.1.4)-1} date 2019/11/22 21:00:26 3 | ; FORMAT={-:-/ absolute / inch / decimal} 4 | ; #@! TF.CreationDate,2019-11-22T21:00:26+08:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.4)-1 6 | ; #@! TF.FileFunction,NonPlated,1,2,NPTH 7 | FMAT,2 8 | INCH 9 | T1C0.0394 10 | % 11 | G90 12 | G05 13 | T1 14 | X3.66Y-4.2934 15 | X3.66Y-4.4666 16 | T0 17 | M30 18 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/gerber/vllink_lite.r3-PTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad (5.1.4)-1} date 2019/11/22 21:00:26 3 | ; FORMAT={-:-/ absolute / inch / decimal} 4 | ; #@! TF.CreationDate,2019-11-22T21:00:26+08:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.4)-1 6 | ; #@! TF.FileFunction,Plated,1,2,PTH 7 | FMAT,2 8 | INCH 9 | T1C0.0080 10 | T2C0.0354 11 | T3C0.0394 12 | T4C0.0433 13 | % 14 | G90 15 | G05 16 | T1 17 | X3.722Y-4.09 18 | X3.785Y-3.959 19 | X3.867Y-3.959 20 | X3.91Y-4.444 21 | X4.0Y-4.16 22 | X4.284Y-4.26 23 | X4.3Y-4.768 24 | X4.304Y-4.742 25 | X4.32Y-4.356 26 | X4.32Y-4.6 27 | X4.333Y-4.313 28 | X4.347Y-4.328 29 | X4.352Y-4.42 30 | X4.358Y-4.512 31 | X4.37Y-4.75 32 | X4.441Y-4.5689 33 | X4.443Y-4.546 34 | X4.4567Y-4.6933 35 | X4.476Y-4.268 36 | X4.4798Y-4.4142 37 | X4.481Y-4.5728 38 | X4.495Y-4.734 39 | X4.4998Y-4.5552 40 | X4.512Y-3.99 41 | X4.5158Y-4.6918 42 | X4.517Y-4.139 43 | X4.52Y-4.44 44 | X4.56Y-4.236 45 | X4.59Y-4.5 46 | X4.613Y-4.362 47 | X4.62Y-4.55 48 | X4.624Y-4.18 49 | X4.6281Y-4.3948 50 | X4.6402Y-4.5338 51 | X4.644Y-4.164 52 | X4.656Y-4.694 53 | X4.6564Y-4.4116 54 | X4.663Y-3.945 55 | X4.673Y-4.267 56 | X4.6767Y-4.4313 57 | X4.6835Y-4.4555 58 | X4.696Y-3.945 59 | X4.698Y-4.267 60 | X4.722Y-4.698 61 | X4.819Y-4.44 62 | X4.819Y-4.47 63 | X4.836Y-4.124 64 | X4.839Y-4.26 65 | X4.868Y-4.35 66 | X4.868Y-4.41 67 | X4.868Y-4.44 68 | X4.868Y-4.47 69 | X4.936Y-4.094 70 | X4.98Y-4.35 71 | X4.98Y-4.47 72 | X4.98Y-4.59 73 | T2 74 | X4.9272Y-4.0163 75 | X5.0272Y-4.0163 76 | X5.1272Y-4.0163 77 | T3 78 | X4.14Y-4.74 79 | X4.24Y-4.74 80 | X3.6Y-4.74 81 | X3.7Y-4.74 82 | X3.8Y-4.74 83 | X3.9Y-4.74 84 | X4.0Y-4.74 85 | T4 86 | X4.919Y-4.6698 87 | X4.919Y-4.788 88 | X5.1355Y-4.6698 89 | X5.1355Y-4.788 90 | T0 91 | M30 92 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/gerber/vllink_lite.r3-bottom-pos.csv: -------------------------------------------------------------------------------- 1 | Ref,Val,Package,PosX,PosY,Rot,Side 2 | "G***","love_log","love_log",16.256000,-13.843000,180.000000,bottom 3 | "IO_B1","Conn_01x05","PinSocket_1x5_P2.54mm_SMD",41.148000,-6.858000,180.000000,bottom 4 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/vllink_lite.pretty/PinSocket_1x5_P2.54mm_SMD.kicad_mod: -------------------------------------------------------------------------------- 1 | (module vllogic:PinSocket_1x5_P2.54mm_SMD (layer F.Cu) (tedit 5DD75F2D) 2 | (attr smd) 3 | (fp_text reference IO_A1 (at 0 -2.058) (layer F.SilkS) 4 | (effects (font (size 1 1) (thickness 0.15))) 5 | ) 6 | (fp_text value Conn_01x05 (at 0 12.446) (layer F.Fab) 7 | (effects (font (size 1 1) (thickness 0.15))) 8 | ) 9 | (fp_text user %R (at 0 4.953 90) (layer F.Fab) 10 | (effects (font (size 1 1) (thickness 0.15))) 11 | ) 12 | (fp_line (start -1.905 -1.27) (end 1.905 -1.27) (layer F.CrtYd) (width 0.12)) 13 | (fp_line (start 1.905 11.43) (end -1.905 11.43) (layer F.CrtYd) (width 0.12)) 14 | (fp_line (start -2.032 11.43) (end 2.032 11.43) (layer F.SilkS) (width 0.15)) 15 | (fp_line (start 0 -1.27) (end 2.032 -1.27) (layer F.SilkS) (width 0.15)) 16 | (fp_line (start 2.032 -1.27) (end 2.032 0.762) (layer F.SilkS) (width 0.15)) 17 | (fp_line (start -2.032 11.43) (end -2.032 -1.27) (layer F.SilkS) (width 0.15)) 18 | (fp_line (start -1.905 11.43) (end -1.905 -1.27) (layer F.CrtYd) (width 0.12)) 19 | (fp_line (start 1.905 11.43) (end 1.905 -1.27) (layer F.CrtYd) (width 0.12)) 20 | (fp_line (start 2.032 1.905) (end 2.032 11.43) (layer F.SilkS) (width 0.15)) 21 | (pad 1 smd rect (at 0 0) (size 3.8 1.4) (layers F.Cu F.Paste F.Mask)) 22 | (pad 2 smd rect (at 0 2.54) (size 3.8 1.4) (layers F.Cu F.Paste F.Mask)) 23 | (pad 3 smd rect (at 0 5.08) (size 3.8 1.4) (layers F.Cu F.Paste F.Mask)) 24 | (pad 4 smd rect (at 0 7.62) (size 3.8 1.4) (layers F.Cu F.Paste F.Mask)) 25 | (pad 5 smd rect (at 0 10.16) (size 3.8 1.4) (layers F.Cu F.Paste F.Mask)) 26 | ) 27 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/vllink_lite.pretty/SW_PUSH_4.5mm_Hxx.kicad_mod: -------------------------------------------------------------------------------- 1 | (module vllogic:SW_PUSH_4.5mm_Hxx (layer F.Cu) (tedit 5DD76646) 2 | (descr https://www.omron.com/ecb/products/pdf/en-b3f.pdf) 3 | (tags "tact sw push 6mm") 4 | (fp_text reference SW1 (at -2.514 3.306) (layer F.SilkS) 5 | (effects (font (size 1 1) (thickness 0.15))) 6 | ) 7 | (fp_text value SW_Push (at 2.8 5) (layer F.Fab) 8 | (effects (font (size 1 1) (thickness 0.15))) 9 | ) 10 | (fp_text user %R (at 2.921 1.524) (layer F.Fab) 11 | (effects (font (size 1 1) (thickness 0.15))) 12 | ) 13 | (fp_line (start 0.4 -0.8) (end 0.4 3.8) (layer F.CrtYd) (width 0.12)) 14 | (fp_line (start 0.4 3.8) (end 5 3.8) (layer F.CrtYd) (width 0.12)) 15 | (fp_line (start 5 3.8) (end 5 -0.8) (layer F.CrtYd) (width 0.12)) 16 | (fp_line (start 5 -0.8) (end 0.4 -0.8) (layer F.CrtYd) (width 0.12)) 17 | (fp_line (start 0.3 -0.9) (end 0.3 3.9) (layer F.SilkS) (width 0.12)) 18 | (fp_line (start 0.3 3.9) (end 5.1 3.9) (layer F.SilkS) (width 0.12)) 19 | (fp_line (start 5.1 3.9) (end 5.1 -0.9) (layer F.SilkS) (width 0.12)) 20 | (fp_line (start 5.1 -0.9) (end 0.3 -0.9) (layer F.SilkS) (width 0.12)) 21 | (pad 2 thru_hole circle (at 0 3 90) (size 1.7 1.7) (drill 1.1) (layers *.Cu *.Mask)) 22 | (pad 1 thru_hole circle (at 0 0 90) (size 1.7 1.7) (drill 1.1) (layers *.Cu *.Mask)) 23 | (pad 2 thru_hole circle (at 5.5 3 90) (size 1.7 1.7) (drill 1.1) (layers *.Cu *.Mask)) 24 | (pad 1 thru_hole circle (at 5.5 0 90) (size 1.7 1.7) (drill 1.1) (layers *.Cu *.Mask)) 25 | (model ${KISYS3DMOD}/Button_Switch_THT.3dshapes/SW_PUSH_6mm.wrl 26 | (offset (xyz 0 0.45 0)) 27 | (scale (xyz 0.85 0.85 1)) 28 | (rotate (xyz 0 0 0)) 29 | ) 30 | ) 31 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/vllink_lite.pretty/TestPoint_Pad_D1.0mm.kicad_mod: -------------------------------------------------------------------------------- 1 | (module TestPoint:TestPoint_Pad_D1.0mm (layer F.Cu) (tedit 5A0F774F) 2 | (descr "SMD pad as test Point, diameter 1.0mm") 3 | (tags "test point SMD pad") 4 | (attr virtual) 5 | (fp_text reference TP1 (at 0 -2.032 -180) (layer F.SilkS) 6 | (effects (font (size 1 1) (thickness 0.15))) 7 | ) 8 | (fp_text value TestPoint (at 0 1.55) (layer F.Fab) 9 | (effects (font (size 1 1) (thickness 0.15))) 10 | ) 11 | (fp_circle (center 0 0) (end 0 0.7) (layer F.SilkS) (width 0.12)) 12 | (fp_circle (center 0 0) (end 1 0) (layer F.CrtYd) (width 0.05)) 13 | (fp_text user %R (at 0 -1.45) (layer F.Fab) 14 | (effects (font (size 1 1) (thickness 0.15))) 15 | ) 16 | (pad 1 smd circle (at 0 0) (size 1 1) (layers F.Cu F.Mask)) 17 | ) 18 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/vllink_lite.r3.bom.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/vllink_lite.r3.bom.csv -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/vllink_lite.r3.bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/vllink_lite.r3.bottom.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/vllink_lite.r3.pcba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/vllink_lite.r3.pcba.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/vllink_lite.r3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/vllink_lite.r3.pdf -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/vllink_lite.r3.top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/vllink_lite.r3.top.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r3/vllink_lite.r3.top_rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r3/vllink_lite.r3.top_rotate.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32e103cx/vllink_lite.r4.gd32e103cx.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32e103cx/vllink_lite.r4.gd32e103cx.pdf -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32e103cx/vllink_lite.r4.gd32e103cx_BOM.csv: -------------------------------------------------------------------------------- 1 | "Comment","Description","Designator","Footprint","LibRef","Pins","Quantity","PartNumber","url", 2 | "4.7uF","desc","C2,C1,","C_0603_1608Metric","libref","2","2","","", 3 | "0.1uF","desc","C6,C5,C4,C3,","C_0603_1608Metric","libref","2","4","","", 4 | "100R@100M","desc","FB1,","L_0603_1608Metric","libref","2","1","","", 5 | "Conn_01x05","desc","IO_A1,","PinSocket_1x5_P2.54mm_SMD","libref","5","1","","", 6 | "150","desc","R12,R11,R10,R9,R8,R7,R6,R5,","R_0603_1608Metric","libref","2","8","","", 7 | "4.7k","desc","R14,R13,R4,R3,","R_0603_1608Metric","libref","2","4","","", 8 | "22, NC","desc","R15,","R_0603_1608Metric","libref","2","1","","", 9 | "10k","desc","R19,R18,R17,R16,","R_0603_1608Metric","libref","2","4","","", 10 | "22","desc","R2,R1,","R_0603_1608Metric","libref","2","2","","", 11 | "GD32E103Cx","desc","U1_LQFP48,","LQFP-48_7x7mm_P0.5mm","libref","48","1","","", 12 | "AP1117-33","desc","U2,","SOT-223-3_TabPin2","libref","4","1","","", 13 | "W25Q64","desc","U3,","SOIC-8_P1.27mm_Common","libref","8","1","","", 14 | "Conn_01x05","desc","IO_B1,","PinSocket_1x5_P2.54mm_SMD","libref","5","1","","", 15 | "TestPoint","desc","TP6,TP5,TP4,TP3,TP2,TP1,","TestPoint_Pad_D1.0mm","libref","1","6","","", 16 | "Through Hole Items ", 17 | "USB_B_Mini","desc","J1,","USB_Mini-B_Lumberg_2486_01_Horizontal","libref","11","1","","", 18 | "Conn_01x05","desc","J2,","PinHeader_1x05_P2.54mm_Vertical","libref","5","1","","", 19 | "Conn_01x02","desc","J3,","PinHeader_1x02_P2.54mm_Vertical","libref","2","1","","", 20 | "LED_Dual_ACA","desc","LED1,","LED_D3.0mm-3","libref","3","1","","", 21 | "SW_Push","desc","SW1,","SW_PUSH_4.5mm_Hxx","libref","4","1","","", 22 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32e103cx/vllink_lite.r4.gd32e103cx_gerber.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32e103cx/vllink_lite.r4.gd32e103cx_gerber.zip -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32e103tx/ams1117-adj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32e103tx/ams1117-adj.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32e103tx/vllink_lite.r4.gd32e103tx.pcba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32e103tx/vllink_lite.r4.gd32e103tx.pcba.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32e103tx/vllink_lite.r4.gd32e103tx.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32e103tx/vllink_lite.r4.gd32e103tx.pdf -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32e103tx/vllink_lite.r4.gd32e103tx_BOM.csv: -------------------------------------------------------------------------------- 1 | "Comment","Description","Designator","Footprint","LibRef","Pins","Quantity","PartNumber","url", 2 | "4.7uF","desc","C2,C1,","C_0603_1608Metric","libref","2","2","","", 3 | "0.1uF","desc","C6,C5,C4,C3,","C_0603_1608Metric","libref","2","4","","", 4 | "100R@100M","desc","FB1,","L_0603_1608Metric","libref","2","1","","", 5 | "Conn_01x05","desc","IO_A1,","PinSocket_1x5_P2.54mm_SMD","libref","5","1","","", 6 | "150","desc","R12,R11,R10,R9,R8,R7,R6,R5,","R_0603_1608Metric","libref","2","8","","", 7 | "4.7k","desc","R14,R13,R4,R3,","R_0603_1608Metric","libref","2","4","","", 8 | "22, NC","desc","R15,","R_0603_1608Metric","libref","2","1","","", 9 | "22","desc","R2,R1,","R_0603_1608Metric","libref","2","2","","", 10 | "10k","desc","R20,R18,R17,R16,","R_0603_1608Metric","libref","2","4","","", 11 | "GD32E103Tx","desc","U1_QFN36,","QFN-36-1EP_6x6mm_P0.5mm_EP3.7x3.7mm","libref","46","1","","", 12 | "AP1117-33","desc","U2,","SOT-223-3_TabPin2","libref","4","1","","", 13 | "W25Q64","desc","U3,","SOIC-8_P1.27mm_Common","libref","8","1","","", 14 | "Conn_01x05","desc","IO_B1,","PinSocket_1x5_P2.54mm_SMD","libref","5","1","","", 15 | "TestPoint","desc","TP6,TP5,TP4,TP3,TP2,TP1,","TestPoint_Pad_D1.0mm","libref","1","6","","", 16 | "Through Hole Items ", 17 | "USB_B_Mini","desc","J1,","USB_Mini-B_Lumberg_2486_01_Horizontal","libref","11","1","","", 18 | "Conn_01x05","desc","J2,","PinHeader_1x05_P2.54mm_Vertical","libref","5","1","","", 19 | "Conn_01x02","desc","J3,","PinHeader_1x02_P2.54mm_Vertical","libref","2","1","","", 20 | "LED_Dual_ACA","desc","LED1,","LED_D3.0mm-3","libref","3","1","","", 21 | "SW_Push","desc","SW1,","SW_PUSH_4.5mm_Hxx","libref","4","1","","", 22 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32e103tx/vllink_lite.r4.gd32e103tx_gerber.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32e103tx/vllink_lite.r4.gd32e103tx_gerber.zip -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx.bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx.bottom.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx.pdf -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx.top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx.top.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx.top45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx.top45.png -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx_BOM.csv: -------------------------------------------------------------------------------- 1 | "Comment","Description","Designator","Footprint","LibRef","Pins","Quantity","PartNumber","url", 2 | "4.7uF","desc","C2,C1,","C_0603_1608Metric","libref","2","2","","", 3 | "0.1uF","desc","C6,C5,C4,C3,","C_0603_1608Metric","libref","2","4","","", 4 | "100R@100M","desc","FB1,","L_0603_1608Metric","libref","2","1","","", 5 | "Conn_01x05","desc","IO_A1,","PinSocket_1x5_P2.54mm_SMD","libref","5","1","","", 6 | "150","desc","R12,R11,R10,R9,R8,R7,R6,R5,","R_0603_1608Metric","libref","2","8","","", 7 | "4.7k","desc","R14,R13,R4,R3,","R_0603_1608Metric","libref","2","4","","", 8 | "22, NC","desc","R15,","R_0603_1608Metric","libref","2","1","","", 9 | "10k, NC","desc","R18,R17,R16,","R_0603_1608Metric","libref","2","3","","", 10 | "22","desc","R2,R1,","R_0603_1608Metric","libref","2","2","","", 11 | "GD32F350Cx","desc","U1_LQFP48,","LQFP-48_7x7mm_P0.5mm","libref","48","1","","", 12 | "GD32F350Gx","desc","U1_QFN28,","QFN-28-1EP_4x4mm_P0.4mm_EP2.7x2.7mm","libref","33","1","","", 13 | "AP1117-33","desc","U2,","SOT-223-3_TabPin2","libref","4","1","","", 14 | "W25Q64, NC","desc","U3,","SOIC-8_P1.27mm_Common","libref","8","1","","", 15 | "Conn_01x05","desc","IO_B1,","PinSocket_1x5_P2.54mm_SMD","libref","5","1","","", 16 | "TestPoint","desc","TP8,TP7,TP6,TP5,TP4,TP3,TP2,TP1,","TestPoint_Pad_D1.0mm","libref","1","8","","", 17 | "Through Hole Items ", 18 | "USB_B_Mini","desc","J1,","USB_Mini-B_Lumberg_2486_01_Horizontal","libref","11","1","","", 19 | "Conn_01x05","desc","J2,","PinHeader_1x05_P2.54mm_Vertical","libref","5","1","","", 20 | "Conn_01x02","desc","J3,","PinHeader_1x02_P2.54mm_Vertical","libref","2","1","","", 21 | "LED_Dual_ACA","desc","LED1,","LED_D3.0mm-3","libref","3","1","","", 22 | "SW_Push","desc","SW1,","SW_PUSH_4.5mm_Hxx","libref","4","1","","", 23 | -------------------------------------------------------------------------------- /hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx_gerber.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/hardware/vllink_lite.r4.gd32f350xx/vllink_lite.r4.gd32f350xx_gerber.zip -------------------------------------------------------------------------------- /vsf/cmake/extensions.cmake: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | function(add_subdirectory_ifdef feature_toggle dir) 4 | if(${${feature_toggle}}) 5 | add_subdirectory(${dir}) 6 | endif() 7 | endfunction() 8 | 9 | function(add_subdirectory_existed dir) 10 | get_filename_component(_fullpath "${dir}" REALPATH) 11 | if(IS_DIRECTORY ${_fullpath}) 12 | add_subdirectory(${_fullpath}) 13 | endif() 14 | endfunction() 15 | 16 | function(add_subdirectory_existed_binary dir bin) 17 | get_filename_component(_fullpath "${dir}" REALPATH) 18 | get_filename_component(_fullpath_bin "${bin}" REALPATH) 19 | if(IS_DIRECTORY ${_fullpath}) 20 | add_subdirectory(${_fullpath} ${_fullpath_bin}) 21 | endif() 22 | endfunction() 23 | -------------------------------------------------------------------------------- /vsf/cmake/gnuarmemb.cmake: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | set(CMAKE_SYSTEM_NAME Generic) 4 | set(CMAKE_SYSTEM_PROCESSOR ${VSF_HAL_ARCH_SERIES}) 5 | 6 | set(CMAKE_C_COMPILER arm-none-eabi-gcc CACHE INTERNAL "c compiler") 7 | set(CMAKE_CXX_COMPILER arm-none-eabi-g++ CACHE INTERNAL "cxx compiler") 8 | set(CMAKE_ASM_COMPILER arm-none-eabi-gcc CACHE INTERNAL "asm compiler") 9 | 10 | set(CMAKE_OBJCOPY arm-none-eabi-objcopy CACHE INTERNAL "objcopy") 11 | set(CMAKE_OBJDUMP arm-none-eabi-objdump CACHE INTERNAL "objdump") 12 | set(CMAKE_SIZE arm-none-eabi-size CACHE INTERNAL "size") 13 | 14 | set(CMAKE_C_FLAGS 15 | "-mthumb \ 16 | -std=gnu11 -Wall -fno-builtin -fno-strict-aliasing -fdata-sections -fms-extensions -ffunction-sections" 17 | CACHE STRING "c compiler flags") 18 | set(CMAKE_CXX_FLAGS 19 | "-mthumb \ 20 | -Wall -fno-builtin -fno-strict-aliasing -fdata-sections -fms-extensions -ffunction-sections" 21 | CACHE STRING "cxx compiler flags") 22 | set(CMAKE_ASM_FLAGS "-mthumb" CACHE INTERNAL "asm compiler flags") 23 | 24 | # Optimization Level 25 | # -O0 None 26 | # -Os Optimize for size 27 | # -O1 Optimize 28 | # -O2 Optimize more 29 | # -O3 Optimize most 30 | # -Og Optimize for debug 31 | # -Ofast Optimize for speed 32 | set(CMAKE_C_FLAGS_DEBUG "-Og -g3 -gstabs+" CACHE STRING "c debug compiler flags") 33 | set(CMAKE_CXX_FLAGS_DEBUG "-Og -g3 -gstabs+" CACHE STRING "cxx debug compiler flags") 34 | set(CMAKE_ASM_FLAGS_DEBUG "-g -gstabs+" CACHE INTERNAL "asm debug compiler flags") 35 | 36 | #set(CMAKE_EXE_LINKER_FLAGS "-Wl,--gc-sections --specs=nosys.specs" 37 | # CACHE INTERNAL "exe link flags") 38 | set(CMAKE_EXE_LINKER_FLAGS "-Wl,--gc-sections -flto --specs=nano.specs" 39 | CACHE STRING "exe link flags") 40 | 41 | set(CMAKE_C_COMPILER_WORKS ON) 42 | set(CMAKE_CXX_COMPILER_WORKS ON) 43 | -------------------------------------------------------------------------------- /vsf/vsf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_include_directories(${VSF_LIB_NAME} INTERFACE 4 | . 5 | ) 6 | 7 | add_subdirectory(component) 8 | add_subdirectory(hal) 9 | add_subdirectory(kernel) 10 | add_subdirectory(osa_hal) 11 | add_subdirectory(osa_service) 12 | add_subdirectory(service) 13 | add_subdirectory(shell) 14 | add_subdirectory(utilities) 15 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory_ifdef(CONFIG_AWTK awtk) 4 | add_subdirectory_ifdef(CONFIG_BTSTACK btstack) 5 | add_subdirectory_ifdef(CONFIG_FREETYPE freetype) 6 | add_subdirectory_ifdef(CONFIG_LITTLEVGL littlevgl) 7 | add_subdirectory_ifdef(CONFIG_LWIP lwip) 8 | add_subdirectory_ifdef(CONFIG_NNOM nnom) 9 | add_subdirectory_ifdef(CONFIG_VSFIP vsfip) 10 | add_subdirectory_ifdef(CONFIG_VSFVM vsfvm) -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/awtk/port/platforms/vsf/fs_os.c: -------------------------------------------------------------------------------- 1 | #include "component/ui/vsf_ui_cfg.h" 2 | 3 | #if VSF_USE_UI == ENABLED && VSF_USE_AWTK == ENABLED 4 | 5 | #include "tkc/fs.h" 6 | 7 | fs_t* os_fs(void) { 8 | return NULL; 9 | } 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/awtk/port/platforms/vsf/mutex.c: -------------------------------------------------------------------------------- 1 | #include "component/ui/vsf_ui_cfg.h" 2 | 3 | #if VSF_USE_UI == ENABLED && VSF_USE_AWTK == ENABLED 4 | 5 | #include "kernel/vsf_kernel.h" 6 | #include "utilities/ooc_class.h" 7 | 8 | #include "tkc/mem.h" 9 | #include "tkc/mutex.h" 10 | 11 | struct _tk_mutex_t { 12 | implement(vsf_mutex_t) 13 | }; 14 | 15 | tk_mutex_t* tk_mutex_create() { 16 | tk_mutex_t* mutex = TKMEM_ZALLOC(tk_mutex_t); 17 | return_value_if_fail(mutex != NULL, NULL); 18 | 19 | vsf_eda_mutex_init(&mutex->use_as__vsf_mutex_t); 20 | 21 | return mutex; 22 | } 23 | 24 | ret_t tk_mutex_lock(tk_mutex_t* mutex) { 25 | return_value_if_fail(mutex != NULL, RET_BAD_PARAMS); 26 | 27 | vsf_thread_mutex_enter(&mutex->use_as__vsf_mutex_t, -1); 28 | 29 | return RET_OK; 30 | } 31 | 32 | ret_t tk_mutex_unlock(tk_mutex_t* mutex) { 33 | return_value_if_fail(mutex != NULL, RET_BAD_PARAMS); 34 | 35 | vsf_thread_mutex_leave(&mutex->use_as__vsf_mutex_t); 36 | 37 | return RET_OK; 38 | } 39 | 40 | ret_t tk_mutex_destroy(tk_mutex_t* mutex) { 41 | return_value_if_fail(mutex != NULL, RET_BAD_PARAMS); 42 | 43 | memset(mutex, 0x00, sizeof(tk_mutex_t)); 44 | TKMEM_FREE(mutex); 45 | 46 | return RET_OK; 47 | } 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/awtk/port/platforms/vsf/platform.c: -------------------------------------------------------------------------------- 1 | #include "component/ui/vsf_ui_cfg.h" 2 | 3 | #if VSF_USE_UI == ENABLED && VSF_USE_AWTK == ENABLED 4 | 5 | #include "kernel/vsf_kernel.h" 6 | #include "tkc/types_def.h" 7 | #include "base/main_loop.h" 8 | 9 | ret_t platform_prepare(void) { 10 | return RET_OK; 11 | } 12 | 13 | ret_t platform_disaptch_input(main_loop_t *l) { 14 | return RET_OK; 15 | } 16 | 17 | uint64_t get_time_ms64(void) { 18 | return (uint64_t)vsf_systimer_get_ms(); 19 | } 20 | 21 | void sleep_ms(uint32_t ms) { 22 | vsf_thread_delay(vsf_systimer_ms_to_tick(ms)); 23 | } 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/awtk/port/platforms/vsf/semaphore.c: -------------------------------------------------------------------------------- 1 | #include "component/ui/vsf_ui_cfg.h" 2 | 3 | #if VSF_USE_UI == ENABLED && VSF_USE_AWTK == ENABLED 4 | 5 | #include "kernel/vsf_kernel.h" 6 | #include "utilities/ooc_class.h" 7 | 8 | #include "tkc/mem.h" 9 | #include "tkc/time_now.h" 10 | #include "tkc/platform.h" 11 | #include "tkc/semaphore.h" 12 | 13 | struct _tk_semaphore_t { 14 | implement(vsf_sem_t) 15 | }; 16 | 17 | tk_semaphore_t* tk_semaphore_create(uint32_t value, const char* name) { 18 | tk_semaphore_t* semaphore = TKMEM_ZALLOC(tk_semaphore_t); 19 | return_value_if_fail(semaphore != NULL, NULL); 20 | 21 | vsf_eda_sem_init(&semaphore->use_as__vsf_sem_t, value); 22 | return semaphore; 23 | } 24 | 25 | ret_t tk_semaphore_wait(tk_semaphore_t* semaphore, uint32_t timeout_ms) { 26 | vsf_systimer_cnt_t tick = vsf_systimer_ms_to_tick(timeout_ms); 27 | vsf_sync_reason_t reason; 28 | return_value_if_fail(semaphore != NULL, RET_BAD_PARAMS); 29 | 30 | reason = vsf_thread_sem_pend(&semaphore->use_as__vsf_sem_t, tick); 31 | if (reason != VSF_SYNC_GET) { 32 | return RET_TIMEOUT; 33 | } 34 | 35 | return RET_OK; 36 | } 37 | 38 | ret_t tk_semaphore_post(tk_semaphore_t* semaphore) { 39 | return_value_if_fail(semaphore != NULL, RET_BAD_PARAMS); 40 | 41 | vsf_thread_sem_post(&semaphore->use_as__vsf_sem_t); 42 | return RET_OK; 43 | } 44 | 45 | ret_t tk_semaphore_destroy(tk_semaphore_t* semaphore) { 46 | return_value_if_fail(semaphore != NULL, RET_BAD_PARAMS); 47 | 48 | memset(semaphore, 0x00, sizeof(tk_semaphore_t)); 49 | TKMEM_FREE(semaphore); 50 | 51 | return RET_OK; 52 | } 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/btstack/csr8510_longer_warm_reset_timeout.patch: -------------------------------------------------------------------------------- 1 | source/vsf/component/3rd-party/btstack/raw/src/hci.c | 2 +- 2 | 1 file changed, 1 insertion(+), 1 deletion(-) 3 | 4 | diff --git a/source/vsf/component/3rd-party/btstack/raw/src/hci.c b/source/vsf/component/3rd-party/btstack/raw/src/hci.c 5 | index a55f9692..c1cfffda 100644 6 | --- a/source/vsf/component/3rd-party/btstack/raw/src/hci.c 7 | +++ b/source/vsf/component/3rd-party/btstack/raw/src/hci.c 8 | @@ -94,7 +94,7 @@ 9 | #endif 10 | 11 | #define HCI_CONNECTION_TIMEOUT_MS 10000 12 | -#define HCI_RESET_RESEND_TIMEOUT_MS 200 13 | +#define HCI_RESET_RESEND_TIMEOUT_MS 2000 14 | 15 | // Names are arbitrarily shortened to 32 bytes if not requested otherwise 16 | #ifndef GAP_INQUIRY_MAX_NAME_LEN 17 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/btstack/firmware/bcm/bcm20702/bt_firmware_image.c: -------------------------------------------------------------------------------- 1 | const char brcm_patch_version[] = "Where can I get the rampatch to bcm20702?"; 2 | 3 | //const unsigned char brcm_patchram_buf[] = {}; 4 | //const unsigned long brcm_patch_ram_length = sizeof(brcm_patchram_buf); 5 | 6 | // make iar happy 7 | const unsigned char brcm_patchram_buf[] = { 0 }; 8 | const int brcm_patch_ram_length = 0; 9 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/freetype/2.10.1/port/ft2build.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ft2build.h 4 | * 5 | * FreeType 2 build and setup macros. 6 | * 7 | * Copyright (C) 1996-2019 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This is the 'entry point' for FreeType header file inclusions. It is 22 | * the only header file which should be included directly; all other 23 | * FreeType header files should be accessed with macro names (after 24 | * including `ft2build.h`). 25 | * 26 | * A typical example is 27 | * 28 | * ``` 29 | * #include 30 | * #include FT_FREETYPE_H 31 | * ``` 32 | * 33 | */ 34 | 35 | 36 | #ifndef FT2BUILD_H_ 37 | #define FT2BUILD_H_ 38 | 39 | #include "./vsf_config/ftheader.h" 40 | 41 | #endif /* FT2BUILD_H_ */ 42 | 43 | 44 | /* END */ 45 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/freetype/2.10.1/port/vsf_config/ftmodule.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file registers the FreeType modules compiled into the library. 3 | * 4 | * If you use GNU make, this file IS NOT USED! Instead, it is created in 5 | * the objects directory (normally `/objs/`) based on information 6 | * from `/modules.cfg`. 7 | * 8 | * Please read `docs/INSTALL.ANY` and `docs/CUSTOMIZE` how to compile 9 | * FreeType without GNU make. 10 | * 11 | */ 12 | 13 | FT_USE_MODULE( FT_Module_Class, autofit_module_class ) 14 | FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) 15 | FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) 16 | FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) 17 | FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) 18 | FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) 19 | FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) 20 | FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) 21 | FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) 22 | FT_USE_MODULE( FT_Module_Class, psaux_module_class ) 23 | FT_USE_MODULE( FT_Module_Class, psnames_module_class ) 24 | FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) 25 | FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) 26 | FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) 27 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) 28 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class ) 29 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class ) 30 | FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) 31 | 32 | /* EOF */ 33 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/littlevgl/6.0/port/vsf_lvgl_port.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/component/3rd-party/littlevgl/6.0/port/vsf_lvgl_port.h -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/littlevgl/6.1.2/extension/lv_lib_freetype/lv_lib_freetyep_del_debug_header.patch: -------------------------------------------------------------------------------- 1 | diff --git a/lv_freetype.c b/lv_freetype.c 2 | index 7f68316..74cb4b2 100644 3 | --- a/lv_freetype.c 4 | +++ b/lv_freetype.c 5 | @@ -8,7 +8,6 @@ 6 | *********************/ 7 | 8 | #include "lv_freetype.h" 9 | -#include "lvgl/src/lv_misc/lv_debug.h" 10 | 11 | /********************* 12 | * DEFINES 13 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/littlevgl/6.1.2/extension/lv_lib_freetype/raw/.github/auto-comment.yml: -------------------------------------------------------------------------------- 1 | # Comment to a new issue. 2 | pullRequestOpened: | 3 | Thank you for raising your pull request. 4 | 5 | To ensure that all licensing criteria is met all repositories of the LVGL project apply a process called DCO (Developer's Certificate of Origin). 6 | 7 | The text of DCO can be read here: https://developercertificate.org/ 8 | For a more detailed description see the [Documentation](https://docs.lvgl.io/latest/en/html/contributing/index.html#developer-certification-of-origin-dco) site. 9 | 10 | By contributing to any repositories of the LVGL project you state that your contribution corresponds with the DCO. 11 | 12 | No further action is required if your contribution fulfills the DCO. If you are not sure about it feel free to ask us in a comment. 13 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/littlevgl/6.1.2/extension/lv_lib_freetype/raw/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 LittlevGL 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/littlevgl/6.1.2/extension/lv_lib_freetype/raw/README.md: -------------------------------------------------------------------------------- 1 | # FreeType integration with LVGL 2 | Interface to FreeType to generate font bitmaps run time 3 | 4 | ## Install FreeType 5 | - Download Freetype from [here](https://sourceforge.net/projects/freetype/files/) 6 | - `make` 7 | - `sudo make install` 8 | 9 | ## Add FreeType to your project 10 | - Add include path: `/usr/include/freetype2` (for GCC: `-I/usr/include/freetype2 -L/usr/local/lib`) 11 | - Add library: `freetype` (for GCC: `-L/usr/local/lib -lfreetype`) 12 | 13 | ## Usage in LVGL 14 | ```c 15 | lv_freetype_init(64); /*Cache max 64 glyphs*/ 16 | 17 | /*Create a font*/ 18 | static lv_font_t font1; 19 | lv_freetype_font_init(&font1, "./lv_lib_freetype/arial.ttf", 32); 20 | 21 | /*Create style with the new font*/ 22 | static lv_style_t style; 23 | lv_style_init(&style); 24 | lv_style_set_text_font(&style, LV_STATE_DEFAULT, &font1); 25 | 26 | /*Create a label with the new style*/ 27 | lv_obj_t * label = lv_label_create(lv_scr_act(), NULL); 28 | lv_obj_add_style(label, LV_LABEL_PART_MAIN, &style); 29 | lv_label_set_text(label, "Hello world"); 30 | 31 | ``` 32 | 33 | ## Learn more 34 | - FreeType [tutorial](https://www.freetype.org/freetype2/docs/tutorial/step1.html) 35 | - LVGL's [font interface](https://docs.lvgl.io/v7/en/html/overview/font.html#add-a-new-font-engine) 36 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/littlevgl/6.1.2/extension/lv_lib_freetype/raw/arial.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/component/3rd-party/littlevgl/6.1.2/extension/lv_lib_freetype/raw/arial.ttf -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/littlevgl/6.1.2/extension/lv_lib_freetype/raw/lv_freetype.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file lv_freetype.h 3 | * 4 | */ 5 | #ifndef _LV_FONT_TTF_H 6 | #define _LV_FONT_TTF_H 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | /********************* 13 | * INCLUDES 14 | *********************/ 15 | #include "lvgl/lvgl.h" 16 | #include "ft2build.h" 17 | #include FT_FREETYPE_H 18 | #include FT_GLYPH_H 19 | #include FT_CACHE_H 20 | 21 | #define USE_CACHE_MANGER 1 22 | 23 | /********************* 24 | * DEFINES 25 | *********************/ 26 | 27 | /********************** 28 | * TYPEDEFS 29 | **********************/ 30 | 31 | typedef struct { 32 | FT_Face face; /* handle to face object */ 33 | uint16_t font_size; /*font height size */ 34 | }lv_font_fmt_freetype_dsc_t; 35 | 36 | /********************** 37 | * GLOBAL PROTOTYPES 38 | **********************/ 39 | int lv_freetype_init(uint8_t max_faces); 40 | int lv_freetype_font_init(lv_font_t * font, const char * font_path, uint16_t font_size); 41 | 42 | /********************** 43 | * MACROS 44 | **********************/ 45 | 46 | #ifdef __cplusplus 47 | } /* extern "C" */ 48 | #endif 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/littlevgl/6.1.2/group_fix_calling_focused_null.patch: -------------------------------------------------------------------------------- 1 | diff --git a/source/vsf/component/3rd-party/littlevgl/6.1.2/raw/lvgl/src/lv_core/lv_group.c b/source/vsf/component/3rd-party/littlevgl/6.1.2/raw/lvgl/src/lv_core/lv_group.c 2 | index b26de56ef..1bc2df1d2 100644 3 | --- a/source/vsf/component/3rd-party/littlevgl/6.1.2/raw/lvgl/src/lv_core/lv_group.c 4 | +++ b/source/vsf/component/3rd-party/littlevgl/6.1.2/raw/lvgl/src/lv_core/lv_group.c 5 | @@ -361,9 +361,9 @@ void lv_group_set_editing(lv_group_t * group, bool edit) 6 | focused->signal_cb(focused, LV_SIGNAL_FOCUS, NULL); /*Focus again to properly leave/open edit/navigate mode*/ 7 | lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_FOCUSED, NULL); 8 | if(res != LV_RES_OK) return; 9 | - } 10 | 11 | - lv_obj_invalidate(focused); 12 | + lv_obj_invalidate(focused); 13 | + } 14 | } 15 | 16 | /** 17 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/littlevgl/6.1.2/port/vsf_lvgl_port.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/component/3rd-party/littlevgl/6.1.2/port/vsf_lvgl_port.h -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/lwip/1.4.1/port/arch/perf.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Copyright(C)2009-2019 by VSF Team * 3 | * * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); * 5 | * you may not use this file except in compliance with the License. * 6 | * You may obtain a copy of the License at * 7 | * * 8 | * http://www.apache.org/licenses/LICENSE-2.0 * 9 | * * 10 | * Unless required by applicable law or agreed to in writing, software * 11 | * distributed under the License is distributed on an "AS IS" BASIS, * 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 13 | * See the License for the specific language governing permissions and * 14 | * limitations under the License. * 15 | * * 16 | ****************************************************************************/ 17 | 18 | #ifndef __LWIP_PERF_H__ 19 | #define __LWIP_PERF_H__ 20 | 21 | #define PERF_START 22 | #define PERF_STOP(__func) 23 | 24 | #endif // __LWIP_PERF_H__ 25 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/lwip/2.1.2/port/arch/perf.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Copyright(C)2009-2019 by VSF Team * 3 | * * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); * 5 | * you may not use this file except in compliance with the License. * 6 | * You may obtain a copy of the License at * 7 | * * 8 | * http://www.apache.org/licenses/LICENSE-2.0 * 9 | * * 10 | * Unless required by applicable law or agreed to in writing, software * 11 | * distributed under the License is distributed on an "AS IS" BASIS, * 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 13 | * See the License for the specific language governing permissions and * 14 | * limitations under the License. * 15 | * * 16 | ****************************************************************************/ 17 | 18 | #ifndef __LWIP_PERF_H__ 19 | #define __LWIP_PERF_H__ 20 | 21 | #define PERF_START 22 | #define PERF_STOP(__func) 23 | 24 | #endif // __LWIP_PERF_H__ 25 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/nnom/port/nnom_port.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018-2019 3 | * Jianjia Ma, Wearable Bio-Robotics Group (WBR) 4 | * majianjia@live.com 5 | * 6 | * SPDX-License-Identifier: Apache-2.0 7 | * 8 | * Change Logs: 9 | * Date Author Notes 10 | * 2019-02-05 Jianjia Ma The first version 11 | */ 12 | 13 | #ifndef __NNOM_PORT_H__ 14 | #define __NNOM_PORT_H__ 15 | 16 | #include "service/vsf_service.h" 17 | #include "utilities/vsf_utilities.h" 18 | #include "kernel/vsf_kernel.h" 19 | 20 | //#include 21 | //#include 22 | //#include 23 | //#include 24 | //#include 25 | 26 | // memory interfaces 27 | #define nnom_malloc(n) vsf_heap_malloc(n) 28 | #define nnom_free(p) vsf_heap_free(p) 29 | #define nnom_memset(p,v,s) memset(p,v,s) 30 | 31 | // runtime & debuges 32 | #define nnom_us_get() vsf_systimer_get_us() 33 | #define nnom_ms_get() vsf_systimer_get_ms() 34 | #define NNOM_LOG(...) vsf_trace(VSF_TRACE_INFO, __VA_ARGS__) 35 | 36 | // NNoM configuration 37 | #define NNOM_BLOCK_NUM (8) // maximum number of memory block 38 | #define DENSE_WEIGHT_OPT (1) // if used fully connected layer optimized weights. 39 | 40 | // Backend format configuration 41 | #ifdef __ARM_ARCH_PROFILE 42 | // use CMSIS-NN for optimation 43 | # define NNOM_USING_CMSIS_NN 44 | #else 45 | // use CHW format. otherwise using default HWC format. 46 | // Notes, CHW is incompatible with CMSIS-NN. 47 | // CHW must be used when using hardware accelerator such as KPU in K210 chip 48 | # define NNOM_USING_CHW 49 | #endif 50 | 51 | 52 | #endif 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/nuconsole/raw/NuConsole.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * @file NuConsole.h 3 | * @version V1.01 4 | * $Revision: 0 $ 5 | * $Date: 17/02/23 0:00p $ 6 | * @brief 7 | * 8 | * @note 9 | * Copyright (C) 2016 Nuvoton Technology Corp. All rights reserved. 10 | *****************************************************************************/ 11 | 12 | #ifndef __NUCONSOLE_H__ 13 | #define __NUCONSOLE_H__ 14 | 15 | #include "component/vsf_component_cfg.h" 16 | 17 | #if VSF_DEBUGGER_CFG_CONSOLE == VSF_DEBUGGER_CFG_CONSOLE_NULINK_NUCONSOLE 18 | 19 | #include 20 | #include "NuConsole_Config.h" 21 | #include "NuConsole.h" 22 | 23 | #define NUCONSOLE_MAGIC_ID "NuConsole" 24 | 25 | #define NUCONSOLE_FIFO_MODE_BLOCKING (0x0) 26 | #define NUCONSOLE_FIFO_MODE_NON_BLOCKING (0x1) 27 | #define NUCONSOLE_FIFO_MODE_MASK (0x1) 28 | 29 | typedef struct 30 | { 31 | uint8_t *pucBuffer; 32 | uint32_t uSize; 33 | volatile uint32_t uHead; 34 | volatile uint32_t uTail; 35 | uint32_t uMode; 36 | } NUCOSOLE_FIFO; 37 | 38 | typedef struct 39 | { 40 | uint8_t aucMagicID[12]; 41 | NUCOSOLE_FIFO aTxFIFO; 42 | NUCOSOLE_FIFO aRxFIFO; 43 | } NUCONSOLE_INFOBLOCK; 44 | 45 | #ifdef __cplusplus 46 | extern "C" 47 | { 48 | #endif 49 | 50 | void NuConsole_Init(void); 51 | void NuConsole_ConfigBuffer(uint32_t uTxFIFO_Mode); 52 | uint32_t NuConsole_Write(const uint8_t *pucBuffer, uint32_t uNumBytes); 53 | uint32_t NuConsole_Read(uint8_t *pucBuffer, uint32_t uNumBytes); 54 | uint32_t NuConsole_Get_Data_Size(void); 55 | 56 | #ifdef __cplusplus 57 | } 58 | #endif 59 | #endif 60 | #endif 61 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/nuconsole/raw/NuConsole_Config.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * @file NuConsole_Config.h 3 | * @version V1.00 4 | * $Revision: 0 $ 5 | * $Date: 16/07/06 0:00p $ 6 | * @brief 7 | * 8 | * @note 9 | * Copyright (C) 2016 Nuvoton Technology Corp. All rights reserved. 10 | *****************************************************************************/ 11 | 12 | #ifndef __NUCONSOLE_CONFIG_H__ 13 | #define __NUCONSOLE_CONFIG_H__ 14 | 15 | #include "component/vsf_component_cfg.h" 16 | 17 | #if VSF_DEBUGGER_CFG_CONSOLE == VSF_DEBUGGER_CFG_CONSOLE_NULINK_NUCONSOLE 18 | 19 | #define NUCOSOLE_TX_BUFFER_SIZE 1024 20 | #define NUCOSOLE_RX_BUFFER_SIZE 8 21 | 22 | #define NUCONSOLE_FIFO_DEFAULT_MODE NUCONSOLE_FIFO_MODE_NON_BLOCKING 23 | 24 | #endif 25 | #endif 26 | -------------------------------------------------------------------------------- /vsf/vsf/component/3rd-party/segger_rtt/raw/RTT/License.txt: -------------------------------------------------------------------------------- 1 | Important - Read carefully: 2 | 3 | SEGGER RTT - Real Time Transfer for embedded targets 4 | 5 | All rights reserved. 6 | 7 | SEGGER strongly recommends to not make any changes 8 | to or modify the source code of this software in order to stay 9 | compatible with the RTT protocol and J-Link. 10 | 11 | Redistribution and use in source and binary forms, with or 12 | without modification, are permitted provided that the following 13 | condition is met: 14 | 15 | o Redistributions of source code must retain the above copyright 16 | notice, this condition and the following disclaimer. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 19 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 20 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 21 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR 23 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 25 | OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 26 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 27 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 29 | USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 30 | DAMAGE. 31 | 32 | 33 | (c) 2014 - 2016 SEGGER Microcontroller GmbH 34 | www.segger.com 35 | -------------------------------------------------------------------------------- /vsf/vsf/component/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_component.c 5 | ) 6 | 7 | add_subdirectory(3rd-party) 8 | add_subdirectory(av) 9 | add_subdirectory(crypto) 10 | add_subdirectory(debugger) 11 | add_subdirectory(fs) 12 | add_subdirectory(input) 13 | add_subdirectory(mal) 14 | add_subdirectory(scsi) 15 | add_subdirectory(tcpip) 16 | add_subdirectory(ui) 17 | add_subdirectory(usb) 18 | -------------------------------------------------------------------------------- /vsf/vsf/component/av/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(audio) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/av/audio/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_audio.c 5 | ) 6 | 7 | add_subdirectory(decoder) 8 | add_subdirectory(driver) 9 | -------------------------------------------------------------------------------- /vsf/vsf/component/av/audio/decoder/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(wav) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/av/audio/decoder/wav/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_wav.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/av/audio/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(winsound) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/av/audio/driver/winsound/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_winsound.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/crypto/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(hash) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/crypto/hash/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(crc) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/crypto/hash/crc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_crc.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/debugger/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(nulink) 4 | add_subdirectory(segger_rtt) 5 | -------------------------------------------------------------------------------- /vsf/vsf/component/debugger/nulink/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | NuConsole_stream.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/debugger/segger_rtt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | segger_rtt_stream.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/fs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_fs.c 5 | ) 6 | 7 | add_subdirectory(driver) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/fs/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(fatfs) 4 | add_subdirectory(malfs) 5 | add_subdirectory(memfs) 6 | add_subdirectory(winfs) 7 | -------------------------------------------------------------------------------- /vsf/vsf/component/fs/driver/fatfs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_fatfs.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/fs/driver/malfs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_malfs.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/fs/driver/memfs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_memfs.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/fs/driver/winfs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_winfs.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/input/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_input.c 5 | ) 6 | 7 | add_subdirectory(driver) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/input/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(hid) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/input/driver/hid/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_input_hid.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/mal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_mal.c 5 | ) 6 | 7 | add_subdirectory(driver) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/mal/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(fakefat32_mal) 4 | add_subdirectory(file_mal) 5 | add_subdirectory(mem_mal) 6 | add_subdirectory(mim_mal) 7 | add_subdirectory(scsi_mal) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/mal/driver/fakefat32_mal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_fakefat32_mal.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/mal/driver/file_mal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_file_mal.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/mal/driver/mem_mal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_mem_mal.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/mal/driver/mim_mal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_mim_mal.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/mal/driver/scsi_mal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_scsi_mal.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/scsi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_scsi.c 5 | ) 6 | 7 | add_subdirectory(driver) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/scsi/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(mal_scsi) 4 | add_subdirectory(virtual_scsi) 5 | -------------------------------------------------------------------------------- /vsf/vsf/component/scsi/driver/mal_scsi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_mal_scsi.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/scsi/driver/virtual_scsi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_virtual_scsi.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/tcpip/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(netdrv) 4 | add_subdirectory(socket) 5 | -------------------------------------------------------------------------------- /vsf/vsf/component/tcpip/netdrv/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_netdrv.c 5 | ) 6 | 7 | add_subdirectory(driver) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/tcpip/netdrv/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(wpcap) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/tcpip/netdrv/driver/wpcap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_netdrv_wpcap.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/tcpip/socket/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_socket.c 5 | ) 6 | 7 | add_subdirectory(driver) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/tcpip/socket/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(lwip) 4 | add_subdirectory(win) 5 | -------------------------------------------------------------------------------- /vsf/vsf/component/tcpip/socket/driver/lwip/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_socket_lwip.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/tcpip/socket/driver/win/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_socket_win.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(disp) 4 | add_subdirectory(tgui) 5 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp.c 5 | ) 6 | 7 | add_subdirectory(driver) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(fb) 4 | add_subdirectory(sdl2) 5 | add_subdirectory(sitronix) 6 | add_subdirectory(solomon-systech) 7 | add_subdirectory(usbd_uvc) 8 | add_subdirectory(vga) 9 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/fb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp_fb.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/sdl2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp_sdl2.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/sitronix/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(common) 4 | add_subdirectory(st7735) 5 | add_subdirectory(st7789) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/sitronix/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp_sitronix_common.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/sitronix/st7735/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp_st7735.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/sitronix/st7789/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp_st7789.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/solomon-systech/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(common) 4 | add_subdirectory(ssd1306) 5 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/solomon-systech/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp_solomon_systech_common.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/solomon-systech/ssd1306/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp_ssd1306.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/usbd_uvc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp_usbd_uvc.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/vga/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(m480) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/disp/driver/vga/m480/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_disp_vga_m480.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/tgui/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_tgui.c 5 | vsf_tgui_common.c 6 | ) 7 | 8 | add_subdirectory(controls) 9 | add_subdirectory(utilities) 10 | add_subdirectory(view) 11 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/tgui/controls/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | __vk_tgui_slider.c 5 | vsf_tgui_button.c 6 | vsf_tgui_control.c 7 | vsf_tgui_controls_common.c 8 | vsf_tgui_label.c 9 | vsf_tgui_list.c 10 | vsf_tgui_panel.c 11 | vsf_tgui_text_list.c 12 | ) 13 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/tgui/controls/vsf_tgui_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/component/ui/tgui/controls/vsf_tgui_list.c -------------------------------------------------------------------------------- /vsf/vsf/component/ui/tgui/utilities/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_tgui_text.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/tgui/view/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_tgui_v.c 5 | ) 6 | 7 | add_subdirectory(simple_view) 8 | add_subdirectory(template) 9 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/tgui/view/simple_view/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_tgui_sv_button.c 5 | vsf_tgui_sv_color.c 6 | vsf_tgui_sv_container.c 7 | vsf_tgui_sv_control.c 8 | vsf_tgui_sv_draw.c 9 | vsf_tgui_sv_font.c 10 | vsf_tgui_sv_label.c 11 | vsf_tgui_sv_list.c 12 | vsf_tgui_sv_panel.c 13 | vsf_tgui_sv_style.c 14 | vsf_tgui_sv_text_list.c 15 | ) 16 | -------------------------------------------------------------------------------- /vsf/vsf/component/ui/tgui/view/template/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_tgui_v_button.c 5 | vsf_tgui_v_container.c 6 | vsf_tgui_v_control.c 7 | vsf_tgui_v_label.c 8 | vsf_tgui_v_panel.c 9 | ) 10 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(device) 4 | add_subdirectory(driver) 5 | add_subdirectory(host) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/device/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbd.c 5 | ) 6 | 7 | add_subdirectory(class) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/device/class/CDC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbd_CDC.c 5 | vsf_usbd_CDCACM.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/device/class/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(CDC) 4 | add_subdirectory(HID) 5 | add_subdirectory(MSC) 6 | add_subdirectory(UVC) 7 | add_subdirectory(UAC) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/device/class/HID/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbd_HID.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/device/class/MSC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbd_MSC.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/device/class/UAC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbd_UAC.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/device/class/UVC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbd_UVC.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(dcd) 4 | add_subdirectory(hcd) 5 | add_subdirectory(otg) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/dcd/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(usbip_dcd) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/dcd/usbip_dcd/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbip_dcd.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/hcd/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(libusb_hcd) 4 | add_subdirectory(ohci) 5 | add_subdirectory(winusb_hcd) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/hcd/libusb_hcd/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_libusb_hcd.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/hcd/ohci/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_ohci.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/hcd/winusb_hcd/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_winusb_hcd.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/otg/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(dwcotg) 4 | add_subdirectory(musb) 5 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/otg/dwcotg/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_dwcotg_common.c 5 | vsf_dwcotg_dcd.c 6 | vsf_dwcotg_hcd.c 7 | ) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/otg/musb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(fdrc) 4 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/driver/otg/musb/fdrc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | __vsf_musb_fdrc_common.c 5 | vsf_musb_fdrc_dcd.c 6 | vsf_musb_fdrc_hcd.c 7 | ) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh.c 5 | ) 6 | 7 | add_subdirectory(class) 8 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/BTHCI/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_BTHCI.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/CDC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_CDC.c 5 | vsf_usbh_CDCECM.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(BTHCI) 4 | add_subdirectory(CDC) 5 | add_subdirectory(HID) 6 | add_subdirectory(HUB) 7 | add_subdirectory(libusb) 8 | add_subdirectory(MSC) 9 | add_subdirectory(rtl8152) 10 | add_subdirectory(UAC) 11 | add_subdirectory(XB1) 12 | add_subdirectory(DFU) -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/DFU/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_dfu.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/HID/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_ds4.c 5 | vsf_usbh_HID.c 6 | vsf_usbh_nspro.c 7 | vsf_usbh_xb360.c 8 | ) 9 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/HUB/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_HUB.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/MSC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_msc.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/UAC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_uac.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/XB1/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_xb1.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/libusb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_libusb.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/component/usb/host/class/rtl8152/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_usbh_rtl8152.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/hal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_hal.c 5 | ) 6 | 7 | add_subdirectory(arch) 8 | add_subdirectory(driver) 9 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_arch_abstraction.c 5 | ) 6 | 7 | add_subdirectory_existed(${VSF_ARCH_SERIES}) 8 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/arm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | set(ARCH_FOR_cortex-m0 armv6s-m ) 4 | set(ARCH_FOR_cortex-m0plus armv6s-m ) 5 | set(ARCH_FOR_cortex-m3 armv7-m ) 6 | set(ARCH_FOR_cortex-m4 armv7e-m ) 7 | set(ARCH_FOR_cortex-m7 armv7e-m ) 8 | set(ARCH_FOR_cortex-m23 armv8-m.base ) 9 | set(ARCH_FOR_cortex-m33 armv8-m.main+dsp) 10 | set(ARCH_FOR_cortex-m33+nodsp armv8-m.main ) 11 | set(ARCH_FOR_cortex-r4 armv7-r ) 12 | # TODO support cortex-a 13 | 14 | set(ARCH_SUB_FOR_cortex-m0 cortex-m ) 15 | set(ARCH_SUB_FOR_cortex-m0plus cortex-m ) 16 | set(ARCH_SUB_FOR_cortex-m3 cortex-m ) 17 | set(ARCH_SUB_FOR_cortex-m4 cortex-m ) 18 | set(ARCH_SUB_FOR_cortex-m7 cortex-m ) 19 | set(ARCH_SUB_FOR_cortex-m23 cortex-m ) 20 | set(ARCH_SUB_FOR_cortex-m33 cortex-m ) 21 | set(ARCH_SUB_FOR_cortex-m33+nodsp cortex-m ) 22 | set(ARCH_SUB_FOR_cortex-r4 cortex-r ) 23 | # TODO support cortex-a 24 | 25 | 26 | if(ARCH_FOR_${VSF_HAL_PROCESSOR_NAME}) 27 | set(ARCH_FLAG -march=${ARCH_FOR_${VSF_HAL_PROCESSOR_NAME}}) 28 | set(ARCH_SUB ${ARCH_SUB_FOR_${VSF_HAL_PROCESSOR_NAME}}) 29 | endif() 30 | 31 | 32 | target_compile_options( vsf 33 | INTERFACE -mabi=aapcs 34 | INTERFACE ${ARCH_FLAG} 35 | ) 36 | 37 | target_link_options( vsf 38 | INTERFACE -mabi=aapcs 39 | INTERFACE ${ARCH_FLAG} 40 | ) 41 | 42 | add_subdirectory_existed(${ARCH_SUB}) 43 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/arm/cortex-a/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | cortex_a_generic.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/arm/cortex-m/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | cortex_m_generic.c 5 | ) 6 | 7 | add_subdirectory(SysTick) 8 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/arm/cortex-m/SysTick/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | systick_internal.c 5 | systick.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/mcs51/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | cstartup.s51 5 | mcs51_generic.c 6 | POST_STARTUP.A51 7 | ) 8 | 9 | #vsf_compile_options() 10 | 11 | #vsf_link_options() 12 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/mcs51/POST_STARTUP.A51: -------------------------------------------------------------------------------- 1 | $NOMOD51 2 | ;------------------------------------------------------------------------------ 3 | ; This file is part of the C51 Compiler package 4 | ; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc. 5 | ; Version 8.01 6 | ; 7 | ; *** <<< Use Configuration Wizard in Context Menu >>> *** 8 | ;------------------------------------------------------------------------------ 9 | ; POST_STARTUP.A51: This code is executed after startup reset. 10 | 11 | 12 | NAME ?C_START 13 | 14 | 15 | post_startup SEGMENT CODE 16 | RSEG post_startup 17 | ;?STACK SEGMENT IDATA 18 | ; RSEG ?STACK 19 | ; DS 1 20 | 21 | EXTRN CODE (__vsf_main_entry) 22 | PUBLIC ?C_START 23 | 24 | ; CSEG AT 0 25 | ?C_START: LJMP __vsf_main_entry 26 | 27 | ; RSEG ?C_C51START 28 | 29 | END 30 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/mcs51/mcs51_generic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/hal/arch/mcs51/mcs51_generic.c -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/rtos/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | rtos_generic.c 5 | ) 6 | 7 | add_subdirectory_existed(${VSF_ARCH_NAME}) 8 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/rtos/freertos/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | freertos_generic.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/rv/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | rv_generic.c 5 | ) 6 | 7 | if(CONFIG_64BIT) 8 | set_property(GLOBAL PROPERTY PROPERTY_OUTPUT_FORMAT elf64-littleriscv) 9 | else() 10 | set_property(GLOBAL PROPERTY PROPERTY_OUTPUT_FORMAT elf32-littleriscv) 11 | endif() 12 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/template/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | template_generic.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/x86/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory_existed(${VSF_HAL_SYSTEM}) 4 | -------------------------------------------------------------------------------- /vsf/vsf/hal/arch/x86/win/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | win_generic.c 5 | win_generic_simple.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory_existed(${VSF_HAL_CHIP_VENDOR}) 4 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/TI/AM335X/AM3352/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | driver.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/TI/AM335X/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory_existed(common) 4 | add_subdirectory_existed(${VSF_HAL_CHIP_NAME}) 5 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/TI/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | if(NOT IS_DIRECTORY ${VSF_PRIVATE_BASE}/hal/driver/${VSF_HAL_CHIP_VENDOR}/${VSF_HAL_CHIP_SERIES}) 4 | add_subdirectory_existed(${VSF_HAL_CHIP_SERIES}) 5 | else() 6 | message(STATUS "User defined driver is detected: ${VSF_PRIVATE_BASE}/hal/driver/${VSF_HAL_CHIP_VENDOR}/${VSF_HAL_CHIP_SERIES}") 7 | endif() 8 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/WinnerMicro/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | if(NOT IS_DIRECTORY ${VSF_PRIVATE_BASE}/hal/driver/${VSF_HAL_CHIP_VENDOR}/${VSF_HAL_CHIP_SERIES}) 4 | add_subdirectory_existed(${VSF_HAL_CHIP_SERIES}) 5 | else() 6 | message(STATUS "User defined driver is detected: ${VSF_PRIVATE_BASE}/hal/driver/${VSF_HAL_CHIP_VENDOR}/${VSF_HAL_CHIP_SERIES}") 7 | endif() 8 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/WinnerMicro/W60X/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory_existed(common) 4 | add_subdirectory_existed(${VSF_HAL_CHIP_NAME}) 5 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/WinnerMicro/W60X/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | common.c 5 | ) 6 | 7 | add_subdirectory_existed(io) 8 | add_subdirectory_existed(pm) 9 | add_subdirectory_existed(usart) 10 | add_subdirectory_existed(usb) 11 | add_subdirectory_existed(vendor) 12 | add_subdirectory_existed(spi) 13 | add_subdirectory_existed(iic) 14 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/WinnerMicro/W60X/common/io/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | io_lv0.c 5 | io.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/WinnerMicro/W60X/common/usart/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(vsf 4 | INTERFACE usart_lv0.c 5 | INTERFACE usart.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/WinnerMicro/W60X/common/vendor/Include/wm_regs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/hal/driver/WinnerMicro/W60X/common/vendor/Include/wm_regs.h -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/x86/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory_existed(${VSF_HAL_SYSTEM}) 4 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/x86/linux/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | driver.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/x86/win/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | driver.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/hal/driver/x86/win/uart/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE uart.c) 4 | -------------------------------------------------------------------------------- /vsf/vsf/kernel/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_eda.c 5 | vsf_eda_slist_queue.c 6 | vsf_evtq_array.c 7 | vsf_evtq_list.c 8 | vsf_kernel_bsp.c 9 | vsf_os.c 10 | ) 11 | 12 | add_subdirectory(__eda) 13 | add_subdirectory(shell) 14 | add_subdirectory(task) 15 | -------------------------------------------------------------------------------- /vsf/vsf/kernel/__eda/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_eda_bmpevt.c 5 | vsf_eda_queue.c 6 | vsf_eda_sync.c 7 | vsf_eda_timer.c 8 | ) 9 | -------------------------------------------------------------------------------- /vsf/vsf/kernel/lib/vsf_kernel_armv6m_full_size.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/kernel/lib/vsf_kernel_armv6m_full_size.a -------------------------------------------------------------------------------- /vsf/vsf/kernel/lib/vsf_kernel_armv7em_full_size.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/kernel/lib/vsf_kernel_armv7em_full_size.a -------------------------------------------------------------------------------- /vsf/vsf/kernel/lib/vsf_kernel_armv7m_full_size.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/kernel/lib/vsf_kernel_armv7m_full_size.a -------------------------------------------------------------------------------- /vsf/vsf/kernel/shell/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_shell.c 5 | ) 6 | 7 | add_subdirectory(simple) 8 | -------------------------------------------------------------------------------- /vsf/vsf/kernel/shell/simple/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_simple_bmpevt.c 5 | vsf_simple_task.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/kernel/task/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_task.c 5 | vsf_thread.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/osa_hal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_osa_hal.c 5 | ) 6 | 7 | add_subdirectory(driver) 8 | #add_subdirectory(sw_peripheral) 9 | -------------------------------------------------------------------------------- /vsf/vsf/osa_hal/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(customised) 4 | -------------------------------------------------------------------------------- /vsf/vsf/osa_hal/driver/customised/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | # none 4 | -------------------------------------------------------------------------------- /vsf/vsf/osa_hal/driver/customised/readme.md: -------------------------------------------------------------------------------- 1 | # How To Add a Customised Lv2 Driver 2 | 3 | 1. Add a dedicated folder for your own customised Lv2 driver. 4 | 2. Add a driver.h inside the folder, and name a SWITCH macro and update "osa_hal/driver/customised/driver.h" to pointer to the driver.h inside your own folder when the macro is detected. 5 | 3. do what you want inside your folder but not the outside world. 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /vsf/vsf/osa_service/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_osa_service.c 5 | ) 6 | 7 | add_subdirectory(msg_tree) 8 | -------------------------------------------------------------------------------- /vsf/vsf/osa_service/msg_tree/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_msg_tree.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_service.c 5 | ) 6 | 7 | add_subdirectory(dynarr) 8 | add_subdirectory(dynstack) 9 | add_subdirectory(fifo) 10 | add_subdirectory(heap) 11 | add_subdirectory(json) 12 | add_subdirectory(pbuf) 13 | add_subdirectory(pool) 14 | add_subdirectory(stream) 15 | add_subdirectory(trace) 16 | add_subdirectory(simple_stream) 17 | -------------------------------------------------------------------------------- /vsf/vsf/service/dynarr/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_dynarr.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/dynstack/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_dynstack.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/fifo/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_fifo.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/heap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_heap.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/json/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_json.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/pbuf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_pbuf.c 5 | vsf_pbuf_pool.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/service/pool/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_pool.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/simple_stream/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_simple_stream.c 5 | ) 6 | 7 | add_subdirectory(block_stream) 8 | add_subdirectory(fifo_stream) 9 | add_subdirectory(mem_stream) 10 | -------------------------------------------------------------------------------- /vsf/vsf/service/simple_stream/block_stream/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_block_stream.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/simple_stream/fifo_stream/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_fifo_stream.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/simple_stream/mem_stream/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_mem_stream.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/stream/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_stream.c 5 | vsf_stream_base.c 6 | vsf_stream_reader.c 7 | vsf_stream_writer.c 8 | ) 9 | 10 | add_subdirectory(pbuf_queue) 11 | -------------------------------------------------------------------------------- /vsf/vsf/service/stream/pbuf_queue/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_pbuf_queue.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/service/trace/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_trace.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/shell/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(media) 4 | add_subdirectory(sys) 5 | -------------------------------------------------------------------------------- /vsf/vsf/shell/media/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(sdl2) 4 | -------------------------------------------------------------------------------- /vsf/vsf/shell/media/sdl2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_sdl2.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/shell/media/sdl2/include/SDL2/SDL_keyboard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/shell/media/sdl2/include/SDL2/SDL_keyboard.h -------------------------------------------------------------------------------- /vsf/vsf/shell/media/sdl2/include/SDL2/SDL_mouse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/shell/media/sdl2/include/SDL2/SDL_mouse.h -------------------------------------------------------------------------------- /vsf/vsf/shell/media/sdl2/include/SDL2/SDL_surface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/shell/media/sdl2/include/SDL2/SDL_surface.h -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(linux) 4 | add_subdirectory(xboot) 5 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_linux.c 5 | vsf_linux_socket.c 6 | ) 7 | 8 | add_subdirectory(port) 9 | add_subdirectory(lib) 10 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/dirent.h: -------------------------------------------------------------------------------- 1 | #ifndef __DIRENT_H__ 2 | #define __DIRENT_H__ 3 | 4 | #include "shell/sys/linux/vsf_linux_cfg.h" 5 | 6 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED 7 | # include "./sys/types.h" 8 | #else 9 | # include 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | #define opendir __vsf_linux_opendir 17 | #define readdir __vsf_linux_readdir 18 | #define closedir __vsf_linux_closedir 19 | 20 | struct dirent { 21 | long d_ino; 22 | off_t d_off; 23 | unsigned short d_reclen; 24 | unsigned char d_type; 25 | char *d_name; 26 | }; 27 | typedef struct vsf_linux_fd_t DIR; 28 | 29 | DIR * opendir(const char *name); 30 | struct dirent * readdir(DIR *dir); 31 | int closedir(DIR *dir); 32 | 33 | #ifdef __cplusplus 34 | } 35 | #endif 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/fcntl.h: -------------------------------------------------------------------------------- 1 | #ifndef __FCNTL_H__ 2 | #define __FCNTL_H__ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #define fcntl __vsf_linux_fcntl 9 | 10 | #define O_RDONLY 0x0000 11 | #define O_WRONLY 0x0001 12 | #define O_RDWR 0x0002 13 | #define O_ACCMODE 0x0003 14 | 15 | #define O_NONBLOCK 0x0004 16 | #define O_APPEND 0x0008 17 | #define O_CREAT 0x0200 18 | #define O_TRUNC 0x0400 19 | #define O_EXCL 0x0800 20 | 21 | int fcntl(int fd, int cmd, ...); 22 | 23 | #ifdef __cplusplus 24 | } 25 | #endif 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/linux/limits.h: -------------------------------------------------------------------------------- 1 | #ifndef __LIMITS_H__ 2 | #define __LIMITS_H__ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #ifndef MAX_PATH 9 | # define MAX_PATH 255 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | } 14 | #endif 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/poll.h: -------------------------------------------------------------------------------- 1 | #ifndef __POLL_H__ 2 | #define __POLL_H__ 3 | 4 | #include "shell/sys/linux/vsf_linux_cfg.h" 5 | 6 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED 7 | # include "./signal.h" 8 | #else 9 | # include 10 | #endif 11 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED & VSF_LINUX_USE_SIMPLE_TIME == ENABLED 12 | # include "./simple_libc/time.h" 13 | #else 14 | # include 15 | #endif 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | #define poll __vsf_linux_poll 22 | #define ppoll __vsf_linux_ppoll 23 | 24 | typedef int nfds_t; 25 | 26 | #define POLLIN (1 << 0) 27 | #define POLLOUT (1 << 1) 28 | 29 | struct pollfd { 30 | int fd; 31 | short events; 32 | short revents; 33 | }; 34 | 35 | int poll(struct pollfd *fds, nfds_t nfds, int timeout); 36 | int ppoll(struct pollfd *fds, nfds_t nfds, const struct timespec *timeout_ts, const sigset_t *sigmask); 37 | 38 | #ifdef __cplusplus 39 | } 40 | #endif 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/semaphore.h: -------------------------------------------------------------------------------- 1 | #ifndef __SEMAPHORE_H__ 2 | #define __SEMAPHORE_H__ 3 | 4 | #include "shell/sys/linux/vsf_linux_cfg.h" 5 | #include "kernel/vsf_kernel.h" 6 | 7 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED && VSF_LINUX_USE_SIMPLE_TIME == ENABLED 8 | # include "./simple_libc/time.h" 9 | #else 10 | # include 11 | #endif 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | #define sem_init __vsf_linux_sem_init 18 | #define sem_destory __vsf_linux_sem_destory 19 | #define sem_wait __vsf_linux_sem_wait 20 | #define sem_trywait __vsf_linux_sem_trywait 21 | #if VSF_KERNEL_CFG_EDA_SUPPORT_TIMER == ENABLED 22 | # define sem_timedwait __vsf_linux_sem_timedwait 23 | #endif 24 | #define sem_post __vsf_linux_sem_post 25 | 26 | typedef vsf_sem_t sem_t; 27 | 28 | int sem_init(sem_t *sem, int pshared, unsigned int value); 29 | int sem_destory(sem_t *sem); 30 | int sem_wait(sem_t *sem); 31 | int sem_trywait(sem_t *sem); 32 | #if VSF_KERNEL_CFG_EDA_SUPPORT_TIMER == ENABLED 33 | int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout); 34 | #endif 35 | int sem_post(sem_t *sem); 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/simple_libc/stddef.h: -------------------------------------------------------------------------------- 1 | #ifndef __SIMPLE_LIBC_STDDEF_H__ 2 | #define __SIMPLE_LIBC_STDDEF_H__ 3 | 4 | #include "shell/sys/linux/vsf_linux_cfg.h" 5 | 6 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED 7 | # include "../sys/types.h" 8 | #else 9 | # include 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | #ifndef NULL 17 | # ifdef __cplusplus 18 | # define NULL (0) 19 | # else 20 | # define NULL ((void *)0) 21 | # endif 22 | #endif 23 | 24 | #ifndef TRUE 25 | # define TRUE 1 26 | #endif 27 | #ifndef FALSE 28 | # define FALSE 0 29 | #endif 30 | 31 | #define offsetof offset_of 32 | 33 | #ifndef __WIN__ 34 | typedef long int ptrdiff_t; 35 | #endif 36 | 37 | typedef unsigned short wchar_t; 38 | typedef unsigned short wint_t; 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #ifdef __cplusplus 45 | namespace std { 46 | typedef decltype(__nullptr) nullptr_t; 47 | } 48 | 49 | using ::std::nullptr_t; 50 | #endif 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/simple_libc/stdlib.h: -------------------------------------------------------------------------------- 1 | #ifndef __SIMPLE_LIBC_STDLIB_H__ 2 | #define __SIMPLE_LIBC_STDLIB_H__ 3 | 4 | #include "shell/sys/linux/vsf_linux_cfg.h" 5 | 6 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED && VSF_LINUX_USE_SIMPLE_LIBC == ENABLED 7 | # include "./stddef.h" 8 | #else 9 | # include 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | #ifndef __WIN__ 17 | #define malloc __vsf_linux_malloc 18 | #define realloc __vsf_linux_realloc 19 | #define free __vsf_linux_free 20 | #define calloc __vsf_linux_calloc 21 | #endif 22 | #define memalign __vsf_linux_memalign 23 | 24 | #ifndef __WIN__ 25 | void * malloc(size_t size); 26 | void * realloc(void *p, size_t size); 27 | void free(void *p); 28 | void * calloc(size_t n, size_t size); 29 | #endif 30 | void * memalign(size_t alignment, size_t size); 31 | 32 | char * itoa(int num, char *str, int radix); 33 | int atoi(const char * str); 34 | unsigned long int strtoul(const char *str, char **endptr, int base); 35 | unsigned long long int strtoull(const char *str, char **endptr, int base); 36 | double strtod(const char *str, char **endptr); 37 | 38 | int rand(void); 39 | void srand(unsigned int seed); 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/simple_libc/string: -------------------------------------------------------------------------------- 1 | #include -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/simple_libc/time.h: -------------------------------------------------------------------------------- 1 | #ifndef __SIMPLE_LIBC_TIME_H__ 2 | #define __SIMPLE_LIBC_TIME_H__ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #define clock_gettime __vsf_linux_clock_gettime 9 | #define nanosleep __vsf_linux_nanosleep 10 | #define clock __vsf_linux_clock 11 | 12 | typedef long long time_t; 13 | typedef long clock_t; 14 | 15 | #define CLOCKS_PER_SEC ((clock_t)1000000) 16 | 17 | struct tm { 18 | int tm_sec; 19 | int tm_min; 20 | int tm_hour; 21 | int tm_mday; 22 | int tm_mon; 23 | int tm_year; 24 | int tm_wday; 25 | int tm_yday; 26 | int tm_isdst; 27 | long int tm_gmtoff; 28 | const char *tm_zone; 29 | }; 30 | 31 | struct timespec { 32 | long tv_sec; 33 | long tv_nsec; 34 | }; 35 | 36 | typedef enum { 37 | CLOCK_MONOTONIC, 38 | CLOCK_REALTIME, 39 | } clockid_t; 40 | 41 | clock_t clock(void); 42 | int clock_gettime(clockid_t clk_id, struct timespec *tp); 43 | 44 | time_t time(time_t *t); 45 | char *asctime(const struct tm *tm); 46 | char *ctime(const time_t *t); 47 | double difftime(time_t time1, time_t time2); 48 | struct tm *gmtime(const time_t *t); 49 | struct tm *localtime(const time_t *t); 50 | time_t mktime(struct tm *tm); 51 | size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *tm); 52 | 53 | int nanosleep(const struct timespec *requested_time, struct timespec *remaining); 54 | 55 | #ifdef __cplusplus 56 | } 57 | #endif 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/sys/mount.h: -------------------------------------------------------------------------------- 1 | #ifndef __MOUNT_H__ 2 | #define __MOUNT_H__ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #define mount __vsf_linux_mount 9 | #define umount __vsf_linux_umount 10 | 11 | // TODO: implement standard mount after device mapping is implemented 12 | //int mount(const char *source, const char *target, 13 | // const char *filesystemtype, unsigned long mountflags, const void *data); 14 | int mount(const char *source, const char *target, 15 | const vk_fs_op_t *filesystem, unsigned long mountflags, const void *data); 16 | int umount(const char *target); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/sys/select.h: -------------------------------------------------------------------------------- 1 | #ifndef __SELECT_H__ 2 | #define __SELECT_H__ 3 | 4 | #include "shell/sys/linux/vsf_linux_cfg.h" 5 | 6 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED 7 | # include "../sys/time.h" 8 | #else 9 | # include 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | #ifndef __WIN__ 17 | # define select __vsf_linux_select 18 | #endif 19 | 20 | #ifndef __WIN__ 21 | __vsf_declare_bitmap_ex(fd_set, 1024) 22 | int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *execeptfds, struct timeval *timeout); 23 | #endif 24 | 25 | #ifdef __cplusplus 26 | } 27 | #endif 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/sys/stat.h: -------------------------------------------------------------------------------- 1 | #ifndef __STAT_H__ 2 | #define __STAT_H__ 3 | 4 | #include "shell/sys/linux/vsf_linux_cfg.h" 5 | 6 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED 7 | # include "../sys/types.h" 8 | #else 9 | # include 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | #define stat __vsf_linux_stat 17 | 18 | #define S_IFDIR 1 19 | 20 | struct stat { 21 | mode_t st_mode; 22 | }; 23 | 24 | int stat(const char *pathname, struct stat *buf); 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/sys/time.h: -------------------------------------------------------------------------------- 1 | #ifndef __SYS_TIME_H__ 2 | #define __SYS_TIME_H__ 3 | 4 | #include "shell/sys/linux/vsf_linux_cfg.h" 5 | 6 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED && VSF_LINUX_USE_SIMPLE_TIME == ENABLED 7 | # include "../simple_libc/time.h" 8 | #else 9 | # include 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | #define getitimer __vsf_linux_getitimer 17 | #define setitimer __vsf_linux_setitimer 18 | #define gettimeofday __vsf_linux_gettimeofday 19 | 20 | struct timeval { 21 | long tv_sec; 22 | long tv_usec; 23 | }; 24 | 25 | struct timezone { 26 | int tz_minuteswest; 27 | int tz_dsttime; 28 | }; 29 | 30 | struct itimerval { 31 | struct timeval it_value; 32 | struct timeval it_interval; 33 | }; 34 | 35 | int gettimeofday(struct timeval * tv, struct timezone * tz); 36 | int getitimer(int which, struct itimerval *curr_value); 37 | int setitimer(int which, const struct itimerval *new_valie, struct itimerval *old_value); 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/sys/types.h: -------------------------------------------------------------------------------- 1 | #ifndef __LINUX_TYPES_H__ 2 | #define __LINUX_TYPES_H__ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #if __IS_COMPILER_IAR__ 9 | //! begin of typedef name has already been declared (with same type) 10 | # pragma diag_suppress=pe301 11 | #endif 12 | 13 | #if defined(__CPU_X64__) 14 | typedef int ssize_t; 15 | typedef unsigned long int size_t; 16 | #else 17 | typedef int ssize_t; 18 | typedef unsigned int size_t; 19 | #endif 20 | 21 | typedef int pid_t; 22 | typedef int mode_t; 23 | typedef unsigned int uid_t; 24 | typedef unsigned int gid_t; 25 | typedef long off_t; 26 | 27 | #if __IS_COMPILER_IAR__ 28 | //! end of typedef name has already been declared (with same type) 29 | //# pragma diag_suppress=pe301 30 | #endif 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/include/sys/wait.h: -------------------------------------------------------------------------------- 1 | #ifndef __WAIT_H__ 2 | #define __WAIT_H__ 3 | 4 | #include "shell/sys/linux/vsf_linux_cfg.h" 5 | 6 | #if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED 7 | # include "../sys/types.h" 8 | #else 9 | # include 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | #define waitpid __vsf_linux_waitpid 17 | 18 | pid_t waitpid(pid_t pid, int *status, int options); 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/lib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(glibc) 4 | add_subdirectory(libusb) 5 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/lib/glibc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_linux_glibc.c 5 | vsf_linux_glibc_pthread.c 6 | vsf_linux_glibc_sem.c 7 | vsf_linux_glibc_stdio.c 8 | vsf_linux_glibc_stdlib.c 9 | vsf_linux_glibc_string.c 10 | vsf_linux_glibc_time.c 11 | vsf_linux_glibc_ctype.c 12 | ) 13 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/lib/libusb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_linux_libusb.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/port/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(busybox) 4 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/port/busybox/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | busybox.c 5 | ) 6 | 7 | add_subdirectory(shell) 8 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/port/busybox/busybox.h: -------------------------------------------------------------------------------- 1 | #ifndef __BUSYBOX_H__ 2 | #define __BUSYBOX_H__ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | int busybox_bind(char *path, vsf_linux_main_entry_t entry); 9 | int busybox_install(void); 10 | 11 | #ifdef __cplusplus 12 | } 13 | #endif 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/port/busybox/config.h: -------------------------------------------------------------------------------- 1 | #include "../../vsf_linux_cfg.h" 2 | 3 | #ifndef VSH_ECHO 4 | # define VSH_ECHO 1 5 | #endif 6 | #ifndef VSH_HISTORY_NUM 7 | # define VSH_HISTORY_NUM 10 8 | #endif 9 | #ifndef VSH_LINEEND 10 | # define VSH_LINEEND "\r\n" 11 | #endif 12 | #ifndef VSH_HAS_COLOR 13 | # define VSH_HAS_COLOR 1 14 | #endif 15 | #ifndef VSH_CMD_SIZE 16 | # define VSH_CMD_SIZE 256 17 | #endif 18 | #ifndef VSH_ENTER_CHAR 19 | # define VSH_ENTER_CHAR '\r' 20 | #endif 21 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/linux/port/busybox/shell/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsh.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_xboot.c 5 | ) 6 | 7 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/include/arch/atomic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/shell/sys/xboot/include/arch/atomic.h -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/include/arch/barrier.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/shell/sys/xboot/include/arch/barrier.h -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/include/arch/endian.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/shell/sys/xboot/include/arch/endian.h -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/include/arch/irqflags.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/shell/sys/xboot/include/arch/irqflags.h -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/include/arch/spinlock.h: -------------------------------------------------------------------------------- 1 | #ifndef __SPINLOCK_H__ 2 | #define __SPINLOCK_H__ 3 | 4 | #include "utilities/vsf_utilities.h" 5 | 6 | typedef int spinlock_t; 7 | typedef vsf_protect_t irq_flags_t; 8 | 9 | #define SPIN_LOCK_INIT() (0) 10 | #define spin_lock_init(lock) do { *lock = 0; } while(0) 11 | #define __spin_lock(lock) do { *lock = 1; } while (0) 12 | #define __spin_unlock(lock) do { *lock = 0; } while (0) 13 | #define spin_trylock(lock) (spin_lock(lock), 1) 14 | #define spin_lock(lock) do { vsf_protect_t orig = vsf_protect_int(); __spin_lock(lock); vsf_unprotect_int(orig); } while (0) 15 | #define spin_unlock(lock) do { vsf_protect_t orig = vsf_protect_int(); __spin_unlock(lock); vsf_unprotect_int(orig); } while (0) 16 | #define spin_lock_irq(lock) do { vsf_disable_interrupt(); __spin_lock(lock); } while(0) 17 | #define spin_unlock_irq(lock) do { __spin_unlock(lock); vsf_enable_interrupt(); } while(0) 18 | #define spin_lock_irqsave(lock, flags) do { flags = vsf_protect_int(); __spin_lock(lock); } while(0) 19 | #define spin_unlock_irqrestore(lock, flags) do { __spin_unlock(lock); vsf_unprotect_int(flags); } while(0) 20 | 21 | #endif // __SPINLOCK_H__ 22 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/include/io.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/shell/sys/xboot/include/io.h -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/include/stddef.h: -------------------------------------------------------------------------------- 1 | #ifndef __XBOOT_STDDEF_H__ 2 | #define __XBOOT_STDDEF_H__ 3 | 4 | #include "shell/sys/linux/include/simple_libc/stddef.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | #ifndef offsetof 11 | # define offsetof offset_of 12 | #endif 13 | 14 | #define clamp(v, a, b) min(max(a, v), b) 15 | 16 | #define ifloor(x) ((x) > 0 ? (int)(x) : (int)((x) - 0.9999999999)) 17 | #define iround(x) ((x) > 0 ? (int)((x) + 0.5) : (int)((x) - 0.5)) 18 | #define iceil(x) ((x) > 0 ? (int)((x) + 0.9999999999) : (int)(x)) 19 | #define idiv255(x) ((((int)(x) + 1) * 257) >> 16) 20 | 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/include/types.h: -------------------------------------------------------------------------------- 1 | #ifndef __TYPES_H__ 2 | #define __TYPES_H__ 3 | 4 | #include 5 | 6 | typedef signed char s8_t; 7 | typedef unsigned char u8_t; 8 | 9 | typedef signed short s16_t; 10 | typedef unsigned short u16_t; 11 | 12 | typedef signed long s32_t; 13 | typedef unsigned long u32_t; 14 | 15 | typedef signed long long s64_t; 16 | typedef unsigned long long u64_t; 17 | 18 | typedef int bool_t; 19 | 20 | #endif // __TYPES_H__ 21 | -------------------------------------------------------------------------------- /vsf/vsf/shell/sys/xboot/include/xfs/xfs.h: -------------------------------------------------------------------------------- 1 | #ifndef __XBOOT_XFS_H__ 2 | #define __XBOOT_XFS_H__ 3 | 4 | #include "utilities/ooc_class.h" 5 | #include "component/vsf_component.h" 6 | #include 7 | 8 | struct xfs_context_t { 9 | int dummy; 10 | }; 11 | 12 | struct xfs_file_t { 13 | implement(vk_file_t) 14 | }; 15 | 16 | struct xfs_file_t * xfs_open_read(struct xfs_context_t * ctx, const char * name); 17 | s64_t xfs_length(struct xfs_file_t * file); 18 | s64_t xfs_read(struct xfs_file_t * file, void * buf, s64_t size); 19 | void xfs_close(struct xfs_file_t * file); 20 | s64_t xfs_seek(struct xfs_file_t * file, s64_t offset); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/3rd-party/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | # none 4 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/3rd-party/PLOOC/raw/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.out 34 | *.app 35 | *.i*86 36 | *.x86_64 37 | *.hex 38 | 39 | # Debug files 40 | *.dSYM/ 41 | *.su 42 | *.idb 43 | *.pdb 44 | 45 | # Kernel Module Compile Results 46 | *.mod* 47 | *.cmd 48 | .tmp_versions/ 49 | modules.order 50 | Module.symvers 51 | Mkfile.old 52 | dkms.conf 53 | *.iex 54 | *.crf 55 | *.axf 56 | *.lst 57 | *.dep 58 | *.gabwan01 59 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/3rd-party/PLOOC/raw/example/README.md: -------------------------------------------------------------------------------- 1 | # Examples for PLOOC 2 | ## Introduction 3 | In order to show how PLOOC is easy and simple to use, examples are provided to demostrate diffrent aspects of the new OOPC method. Currently, the available examples are: 4 | 5 | - byte_queue 6 | - enhanced_byte_queue 7 | 8 | More examples will be added later... 9 | 10 | ## [Example 1: How to define a class](https://github.com/GorgonMeducer/PLOOC/tree/master/example/byte_queue) 11 | This example shows 12 | - How to define a class 13 | - How to add private member 14 | - How to add protected member 15 | - How to access class members 16 | - How to define user friendly interface 17 | 18 | ## [Example 2: How to access protected members](https://github.com/GorgonMeducer/PLOOC/tree/master/example/enhanced_byte_queue) 19 | - How to inherit from a base class 20 | - How to access protected members which are inherited from base 21 | - How to inherit a interface 22 | - How to override base methods 23 | 24 | ## [Example 3: How to implement Overload ](https://github.com/GorgonMeducer/PLOOC/tree/master/example/trace) 25 | 26 | - How to implement overload using PLOOC 27 | 28 | ![example3](./picture/example3.png?raw=true) 29 | 30 | 31 | Author: GorgonMeducer, under Apache 2.0 32 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/3rd-party/PLOOC/raw/example/picture/example3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/utilities/3rd-party/PLOOC/raw/example/picture/example3.png -------------------------------------------------------------------------------- /vsf/vsf/utilities/3rd-party/PLOOC/raw/example/project/mdk/RTE/_Target_1/RTE_Components.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Auto generated Run-Time-Environment Configuration File 4 | * *** Do not modify ! *** 5 | * 6 | * Project: 'plooc_example' 7 | * Target: 'Target 1' 8 | */ 9 | 10 | #ifndef RTE_COMPONENTS_H 11 | #define RTE_COMPONENTS_H 12 | 13 | 14 | /* 15 | * Define the Device Header File: 16 | */ 17 | #define CMSIS_device_header "CMSDK_CM3.h" 18 | 19 | /* Keil.ARM Compiler::Compiler:I/O:STDOUT:User:1.2.0 */ 20 | #define RTE_Compiler_IO_STDOUT /* Compiler I/O: STDOUT */ 21 | #define RTE_Compiler_IO_STDOUT_User /* Compiler I/O: STDOUT User */ 22 | /* Keil::CMSIS Driver:USART:1.0.3 */ 23 | #define RTE_Drivers_USART 24 | 25 | 26 | #endif /* RTE_COMPONENTS_H */ 27 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/3rd-party/PLOOC/raw/example/project/mdk/RTE/_arm_compiler_6_example/RTE_Components.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Auto generated Run-Time-Environment Configuration File 4 | * *** Do not modify ! *** 5 | * 6 | * Project: 'plooc_example' 7 | * Target: 'arm_compiler_6_example' 8 | */ 9 | 10 | #ifndef RTE_COMPONENTS_H 11 | #define RTE_COMPONENTS_H 12 | 13 | 14 | /* 15 | * Define the Device Header File: 16 | */ 17 | #define CMSIS_device_header "CMSDK_CM3.h" 18 | 19 | 20 | 21 | #endif /* RTE_COMPONENTS_H */ 22 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(3rd-party) 4 | add_subdirectory(compiler) 5 | add_subdirectory(language_extension) 6 | add_subdirectory(template) 7 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(__common) 4 | add_subdirectory_existed(${VSF_ARCH_SERIES}) 5 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/__common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | __retarget_io.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/ComputeLibrary/LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017-2019 ARM Software 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/ComputeLibrary/README.md: -------------------------------------------------------------------------------- 1 | README 2 | ====== 3 | 4 | This folder is containing two files imported, and slightly modified, from the ComputeLibrary: 5 | 6 | NEMath.h and arm_cl_tables.c 7 | 8 | In the original compute library, there are instead two other files: 9 | 10 | NEMath.h and NEMath.inl 11 | 12 | NEMath.inl is included from NEMath.h whereas in this CMSIS DSP implementation, there is no NEMath.inl and its content is copied into NEMath.h 13 | 14 | The tables contained in NEMath.inl have been moved to arm_cl_tables.c and finally the files are in C for the CMSIS DSP library and in C++ in the original Compute Library. 15 | 16 | Otherwise, the features and implementations are the same : a few optimized Neon functions. 17 | 18 | The license covering those files is different : It is a MIT license. 19 | Other parts of the CMSIS-DSP are covered with an Apache-2.0 license. 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/BasicMathFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPBasicMath) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | file(GLOB SRC "./*_*.c") 9 | 10 | add_library(CMSISDSPBasicMath STATIC ${SRC}) 11 | 12 | configLib(CMSISDSPBasicMath ${ROOT}) 13 | configDsp(CMSISDSPBasicMath ${ROOT}) 14 | 15 | ### Includes 16 | target_include_directories(CMSISDSPBasicMath PUBLIC "${DSP}/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/BayesFunctions/BayesFunctions.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: BayesFunctions.c 4 | * Description: Combination of all bayes function source files. 5 | * 6 | * $Date: 16. March 2020 7 | * $Revision: V1.0.0 8 | * 9 | * Target Processor: Cortex-M cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2020 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_gaussian_naive_bayes_predict_f32.c" 30 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/BayesFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPBayes) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | file(GLOB SRC "./*_*.c") 9 | 10 | add_library(CMSISDSPBayes STATIC ${SRC}) 11 | 12 | configLib(CMSISDSPBayes ${ROOT}) 13 | configDsp(CMSISDSPBayes ${ROOT}) 14 | 15 | ### Includes 16 | target_include_directories(CMSISDSPBayes PUBLIC "${DSP}/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/CommonTables/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPCommon) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | add_library(CMSISDSPCommon STATIC arm_common_tables.c) 9 | 10 | configLib(CMSISDSPCommon ${ROOT}) 11 | configDsp(CMSISDSPCommon ${ROOT}) 12 | 13 | if (CONFIGTABLE AND ALLFFT) 14 | target_compile_definitions(CMSISDSPCommon PUBLIC ARM_ALL_FFT_TABLES) 15 | endif() 16 | 17 | if (CONFIGTABLE AND ALLFAST) 18 | target_compile_definitions(CMSISDSPCommon PUBLIC ARM_ALL_FAST_TABLES) 19 | endif() 20 | 21 | include(fft) 22 | fft(CMSISDSPCommon) 23 | 24 | include(interpol) 25 | interpol(CMSISDSPCommon) 26 | 27 | target_sources(CMSISDSPCommon PRIVATE arm_const_structs.c) 28 | 29 | 30 | ### Includes 31 | target_include_directories(CMSISDSPCommon PUBLIC "${DSP}/Include") 32 | 33 | if (NEON OR NEONEXPERIMENTAL) 34 | target_sources(CMSISDSPCommon PRIVATE "${DSP}/ComputeLibrary/Source/arm_cl_tables.c") 35 | endif() 36 | 37 | if (HELIUM OR MVEF) 38 | target_sources(CMSISDSPCommon PRIVATE "${DSP}/Source/CommonTables/arm_mve_tables.c") 39 | endif() 40 | 41 | 42 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/CommonTables/CommonTables.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: CommonTables.c 4 | * Description: Combination of all common table source files. 5 | * 6 | * $Date: 08. January 2020 7 | * $Revision: V1.1.0 8 | * 9 | * Target Processor: Cortex-M cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2019-2020 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_common_tables.c" 30 | #include "arm_const_structs.c" 31 | #include "arm_mve_tables.c" 32 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/ControllerFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPController) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | add_library(CMSISDSPController STATIC) 9 | 10 | configLib(CMSISDSPController ${ROOT}) 11 | configDsp(CMSISDSPController ${ROOT}) 12 | 13 | include(interpol) 14 | interpol(CMSISDSPController) 15 | 16 | if (CONFIGTABLE AND ALLFAST) 17 | target_compile_definitions(CMSISDSPController PUBLIC ARM_ALL_FAST_TABLES) 18 | endif() 19 | 20 | target_sources(CMSISDSPController PRIVATE arm_pid_init_f32.c) 21 | target_sources(CMSISDSPController PRIVATE arm_pid_init_q15.c) 22 | target_sources(CMSISDSPController PRIVATE arm_pid_init_q31.c) 23 | target_sources(CMSISDSPController PRIVATE arm_pid_reset_f32.c) 24 | target_sources(CMSISDSPController PRIVATE arm_pid_reset_q15.c) 25 | target_sources(CMSISDSPController PRIVATE arm_pid_reset_q31.c) 26 | 27 | if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_COS_F32) 28 | target_sources(CMSISDSPController PRIVATE arm_sin_cos_f32.c) 29 | endif() 30 | 31 | if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_COS_Q31) 32 | target_sources(CMSISDSPController PRIVATE arm_sin_cos_q31.c) 33 | endif() 34 | 35 | 36 | 37 | ### Includes 38 | target_include_directories(CMSISDSPController PUBLIC "${DSP}/Include") 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/ControllerFunctions/ControllerFunctions.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: ControllerFunctions.c 4 | * Description: Combination of all controller function source files. 5 | * 6 | * $Date: 18. March 2019 7 | * $Revision: V1.0.0 8 | * 9 | * Target Processor: Cortex-M cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2019 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_pid_init_f32.c" 30 | #include "arm_pid_init_q15.c" 31 | #include "arm_pid_init_q31.c" 32 | #include "arm_pid_reset_f32.c" 33 | #include "arm_pid_reset_q15.c" 34 | #include "arm_pid_reset_q31.c" 35 | #include "arm_sin_cos_f32.c" 36 | #include "arm_sin_cos_q31.c" 37 | 38 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_f32.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: arm_pid_reset_f32.c 4 | * Description: Floating-point PID Control reset function 5 | * 6 | * $Date: 18. March 2019 7 | * $Revision: V1.6.0 8 | * 9 | * Target Processor: Cortex-M cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_math.h" 30 | 31 | /** 32 | @addtogroup PID 33 | @{ 34 | */ 35 | 36 | /** 37 | @brief Reset function for the floating-point PID Control. 38 | @param[in,out] S points to an instance of the floating-point PID structure 39 | @return none 40 | 41 | @par Details 42 | The function resets the state buffer to zeros. 43 | */ 44 | 45 | void arm_pid_reset_f32( 46 | arm_pid_instance_f32 * S) 47 | { 48 | /* Reset state to zero, The size will be always 3 samples */ 49 | memset(S->state, 0, 3U * sizeof(float32_t)); 50 | } 51 | 52 | /** 53 | @} end of PID group 54 | */ 55 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_q15.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: arm_pid_reset_q15.c 4 | * Description: Q15 PID Control reset function 5 | * 6 | * $Date: 18. March 2019 7 | * $Revision: V1.6.0 8 | * 9 | * Target Processor: Cortex-M cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_math.h" 30 | 31 | /** 32 | @addtogroup PID 33 | @{ 34 | */ 35 | 36 | /** 37 | @brief Reset function for the Q15 PID Control. 38 | @param[in,out] S points to an instance of the Q15 PID structure 39 | @return none 40 | 41 | @par Details 42 | The function resets the state buffer to zeros. 43 | */ 44 | 45 | void arm_pid_reset_q15( 46 | arm_pid_instance_q15 * S) 47 | { 48 | /* Reset state to zero, The size will be always 3 samples */ 49 | memset(S->state, 0, 3U * sizeof(q15_t)); 50 | } 51 | 52 | /** 53 | @} end of PID group 54 | */ 55 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_q31.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: arm_pid_reset_q31.c 4 | * Description: Q31 PID Control reset function 5 | * 6 | * $Date: 18. March 2019 7 | * $Revision: V1.6.0 8 | * 9 | * Target Processor: Cortex-M cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_math.h" 30 | 31 | /** 32 | @addtogroup PID 33 | @{ 34 | */ 35 | 36 | /** 37 | @brief Reset function for the Q31 PID Control. 38 | @param[in,out] S points to an instance of the Q31 PID structure 39 | @return none 40 | 41 | @par Details 42 | The function resets the state buffer to zeros. 43 | */ 44 | 45 | void arm_pid_reset_q31( 46 | arm_pid_instance_q31 * S) 47 | { 48 | /* Reset state to zero, The size will be always 3 samples */ 49 | memset(S->state, 0, 3U * sizeof(q31_t)); 50 | } 51 | 52 | /** 53 | @} end of PID group 54 | */ 55 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/DistanceFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPDistance) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | file(GLOB SRC "./*_*.c") 9 | 10 | add_library(CMSISDSPDistance STATIC ${SRC}) 11 | 12 | configLib(CMSISDSPDistance ${ROOT}) 13 | configDsp(CMSISDSPDistance ${ROOT}) 14 | 15 | ### Includes 16 | target_include_directories(CMSISDSPDistance PUBLIC "${DSP}/Include") 17 | target_include_directories(CMSISDSPDistance PRIVATE ".") 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/FastMathFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPFastMath) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | file(GLOB SRC "./*_*.c") 9 | 10 | add_library(CMSISDSPFastMath STATIC) 11 | configLib(CMSISDSPFastMath ${ROOT}) 12 | configDsp(CMSISDSPFastMath ${ROOT}) 13 | 14 | include(interpol) 15 | interpol(CMSISDSPFastMath) 16 | 17 | if (CONFIGTABLE AND ALLFAST) 18 | target_compile_definitions(CMSISDSPFastMath PUBLIC ARM_ALL_FAST_TABLES) 19 | endif() 20 | 21 | if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_F32) 22 | target_sources(CMSISDSPFastMath PRIVATE arm_cos_f32.c) 23 | endif() 24 | 25 | if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q15) 26 | target_sources(CMSISDSPFastMath PRIVATE arm_cos_q15.c) 27 | endif() 28 | 29 | if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q31) 30 | target_sources(CMSISDSPFastMath PRIVATE arm_cos_q31.c) 31 | endif() 32 | 33 | if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_F32) 34 | target_sources(CMSISDSPFastMath PRIVATE arm_sin_f32.c) 35 | endif() 36 | 37 | if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q15) 38 | target_sources(CMSISDSPFastMath PRIVATE arm_sin_q15.c) 39 | endif() 40 | 41 | if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q31) 42 | target_sources(CMSISDSPFastMath PRIVATE arm_sin_q31.c) 43 | endif() 44 | 45 | target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q15.c) 46 | target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q31.c) 47 | target_sources(CMSISDSPFastMath PRIVATE arm_vlog_f32.c) 48 | target_sources(CMSISDSPFastMath PRIVATE arm_vexp_f32.c) 49 | 50 | 51 | ### Includes 52 | target_include_directories(CMSISDSPFastMath PUBLIC "${DSP}/Include") 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/FastMathFunctions/FastMathFunctions.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: FastMathFunctions.c 4 | * Description: Combination of all fast math function source files. 5 | * 6 | * $Date: 16. March 2020 7 | * $Revision: V1.1.0 8 | * 9 | * Target Processor: Cortex-M cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2019-2020 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_cos_f32.c" 30 | #include "arm_cos_q15.c" 31 | #include "arm_cos_q31.c" 32 | #include "arm_sin_f32.c" 33 | #include "arm_sin_q15.c" 34 | #include "arm_sin_q31.c" 35 | #include "arm_sqrt_q15.c" 36 | #include "arm_sqrt_q31.c" 37 | #include "arm_vexp_f32.c" 38 | #include "arm_vlog_f32.c" 39 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPMatrix) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | file(GLOB SRC "./*_*.c") 9 | 10 | add_library(CMSISDSPMatrix STATIC ${SRC}) 11 | 12 | configLib(CMSISDSPMatrix ${ROOT}) 13 | configDsp(CMSISDSPMatrix ${ROOT}) 14 | 15 | ### Includes 16 | target_include_directories(CMSISDSPMatrix PUBLIC "${DSP}/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/SVMFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPSVM) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | file(GLOB SRC "./*_*.c") 9 | 10 | add_library(CMSISDSPSVM STATIC ${SRC}) 11 | 12 | configLib(CMSISDSPSVM ${ROOT}) 13 | configDsp(CMSISDSPSVM ${ROOT}) 14 | 15 | ### Includes 16 | target_include_directories(CMSISDSPSVM PUBLIC "${DSP}/Include") 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/SVMFunctions/SVMFunctions.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: BayesFunctions.c 4 | * Description: Combination of all SVM function source files. 5 | * 6 | * $Date: 16. March 2020 7 | * $Revision: V1.0.0 8 | * 9 | * Target Processor: Cortex-M cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2020 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_svm_linear_init_f32.c" 30 | #include "arm_svm_linear_predict_f32.c" 31 | #include "arm_svm_polynomial_init_f32.c" 32 | #include "arm_svm_polynomial_predict_f32.c" 33 | #include "arm_svm_rbf_init_f32.c" 34 | #include "arm_svm_rbf_predict_f32.c" 35 | #include "arm_svm_sigmoid_init_f32.c" 36 | #include "arm_svm_sigmoid_predict_f32.c" 37 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/StatisticsFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPStatistics) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | file(GLOB SRC "./*_*.c") 9 | 10 | add_library(CMSISDSPStatistics STATIC ${SRC}) 11 | 12 | configLib(CMSISDSPStatistics ${ROOT}) 13 | configDsp(CMSISDSPStatistics ${ROOT}) 14 | 15 | ### Includes 16 | target_include_directories(CMSISDSPStatistics PUBLIC "${DSP}/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/SupportFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISDSPSupport) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | file(GLOB SRC "./*_*.c") 9 | 10 | add_library(CMSISDSPSupport STATIC ${SRC}) 11 | 12 | configLib(CMSISDSPSupport ${ROOT}) 13 | configDsp(CMSISDSPSupport ${ROOT}) 14 | 15 | ### Includes 16 | target_include_directories(CMSISDSPSupport PUBLIC "${DSP}/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/SupportFunctions/arm_merge_sort_init_f32.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: arm_merge_sort_init_f32.c 4 | * Description: Floating point merge sort initialization function 5 | * 6 | * $Date: 2019 7 | * $Revision: V1.6.0 8 | * 9 | * Target Processor: Cortex-M and Cortex-A cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_math.h" 30 | 31 | /** 32 | @ingroup groupSupport 33 | */ 34 | 35 | /** 36 | @addtogroup Sorting 37 | @{ 38 | */ 39 | 40 | 41 | /** 42 | * @param[in,out] S points to an instance of the sorting structure. 43 | * @param[in] dir Sorting order. 44 | * @param[in] buffer Working buffer. 45 | */ 46 | void arm_merge_sort_init_f32(arm_merge_sort_instance_f32 * S, arm_sort_dir dir, float32_t * buffer) 47 | { 48 | S->dir = dir; 49 | S->buffer = buffer; 50 | } 51 | /** 52 | @} end of Sorting group 53 | */ 54 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/SupportFunctions/arm_sort_init_f32.c: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Project: CMSIS DSP Library 3 | * Title: arm_sort_init_f32.c 4 | * Description: Floating point sort initialization function 5 | * 6 | * $Date: 2019 7 | * $Revision: V1.6.0 8 | * 9 | * Target Processor: Cortex-M and Cortex-A cores 10 | * -------------------------------------------------------------------- */ 11 | /* 12 | * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved. 13 | * 14 | * SPDX-License-Identifier: Apache-2.0 15 | * 16 | * Licensed under the Apache License, Version 2.0 (the License); you may 17 | * not use this file except in compliance with the License. 18 | * You may obtain a copy of the License at 19 | * 20 | * www.apache.org/licenses/LICENSE-2.0 21 | * 22 | * Unless required by applicable law or agreed to in writing, software 23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 25 | * See the License for the specific language governing permissions and 26 | * limitations under the License. 27 | */ 28 | 29 | #include "arm_math.h" 30 | #include "arm_sorting.h" 31 | 32 | /** 33 | @ingroup groupSupport 34 | */ 35 | 36 | /** 37 | @addtogroup Sorting 38 | @{ 39 | */ 40 | 41 | 42 | /** 43 | * @param[in,out] S points to an instance of the sorting structure. 44 | * @param[in] alg Selected algorithm. 45 | * @param[in] dir Sorting order. 46 | */ 47 | void arm_sort_init_f32(arm_sort_instance_f32 * S, arm_sort_alg alg, arm_sort_dir dir) 48 | { 49 | S->alg = alg; 50 | S->dir = dir; 51 | } 52 | 53 | /** 54 | @} end of Sorting group 55 | */ 56 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/configDsp.cmake: -------------------------------------------------------------------------------- 1 | function(configDsp project root) 2 | 3 | if (CONFIGTABLE) 4 | # Public because initialization for FFT may be defined in client code 5 | # and needs access to the table. 6 | target_compile_definitions(${project} PUBLIC ARM_DSP_CONFIG_TABLES) 7 | endif() 8 | 9 | if (LOOPUNROLL) 10 | target_compile_definitions(${project} PRIVATE ARM_MATH_LOOPUNROLL) 11 | endif() 12 | 13 | if (ROUNDING) 14 | target_compile_definitions(${project} PRIVATE ARM_MATH_ROUNDING) 15 | endif() 16 | 17 | if (MATRIXCHECK) 18 | target_compile_definitions(${project} PRIVATE ARM_MATH_MATRIX_CHECK) 19 | endif() 20 | 21 | if (AUTOVECTORIZE) 22 | target_compile_definitions(${project} PRIVATE ARM_MATH_AUTOVECTORIZE) 23 | endif() 24 | 25 | if (NEON OR NEONEXPERIMENTAL) 26 | target_include_directories(${project} PRIVATE "${root}/CMSIS/DSP/ComputeLibrary/Include") 27 | endif() 28 | 29 | if (FLOAT16) 30 | target_compile_definitions(${project} PRIVATE ARM_MATH_FLOAT16) 31 | endif() 32 | 33 | if (HELIUM OR MVEF OR SUPPORT) 34 | target_include_directories(${project} PRIVATE "${root}/CMSIS/DSP/PrivateInclude") 35 | endif() 36 | 37 | endfunction() 38 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/DSP/Source/interpol.cmake: -------------------------------------------------------------------------------- 1 | function(interpol PROJECT) 2 | 3 | if (CONFIGTABLE AND ARM_COS_F32) 4 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_SIN_F32) 5 | endif() 6 | 7 | if (CONFIGTABLE AND ARM_COS_Q31) 8 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_SIN_Q31) 9 | endif() 10 | 11 | if (CONFIGTABLE AND ARM_COS_Q15) 12 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_SIN_Q15) 13 | endif() 14 | 15 | if (CONFIGTABLE AND ARM_SIN_F32) 16 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_SIN_F32) 17 | endif() 18 | 19 | if (CONFIGTABLE AND ARM_SIN_Q31) 20 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_SIN_Q31) 21 | endif() 22 | 23 | if (CONFIGTABLE AND ARM_SIN_Q15) 24 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_SIN_Q15) 25 | endif() 26 | 27 | if (CONFIGTABLE AND ARM_SIN_COS_F32) 28 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_SIN_F32) 29 | endif() 30 | 31 | if (CONFIGTABLE AND ARM_SIN_COS_Q31) 32 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_SIN_Q31) 33 | endif() 34 | 35 | if (CONFIGTABLE AND ARM_LMS_NORM_Q31) 36 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_RECIP_Q31) 37 | endif() 38 | 39 | if (CONFIGTABLE AND ARM_LMS_NORM_Q15) 40 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_RECIP_Q15) 41 | endif() 42 | 43 | if (CONFIGTABLE AND ARM_CMPLX_MAG_Q31 AND (MVEI OR HELIUM)) 44 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_FAST_SQRT_Q31_MVE) 45 | endif() 46 | 47 | if (CONFIGTABLE AND ARM_CMPLX_MAG_Q15 AND (MVEI OR HELIUM)) 48 | target_compile_definitions(${PROJECT} PUBLIC ARM_TABLE_FAST_SQRT_Q15_MVE) 49 | endif() 50 | 51 | endfunction() -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/ActivationFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISNNActivation) 4 | 5 | include(configLib) 6 | 7 | file(GLOB SRC "./*_*.c") 8 | 9 | add_library(CMSISNNActivation STATIC ${SRC}) 10 | 11 | configLib(CMSISNNActivation ${ROOT}) 12 | configDsp(CMSISNNActivation ${ROOT}) 13 | 14 | ### Includes 15 | target_include_directories(CMSISNNActivation PUBLIC "${NN}/Include") 16 | target_include_directories(CMSISNNActivation PUBLIC "${ROOT}/CMSIS/DSP/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/ActivationFunctions/arm_relu6_s8.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010-2019 Arm Limited or its affiliates. All rights reserved. 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the License); you may 7 | * not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 14 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /* ---------------------------------------------------------------------- 20 | * Project: CMSIS NN Library 21 | * Title: arm_relu6_s8.c 22 | * Description: Basic s8 version of ReLU6 23 | * 24 | * $Date: Spetember 2019 25 | * $Revision: V.1.0.0 26 | * 27 | * Target Processor: Cortex-M cores 28 | * 29 | * -------------------------------------------------------------------- */ 30 | 31 | #include "arm_math.h" 32 | #include "arm_nnfunctions.h" 33 | 34 | /** 35 | * @ingroup groupNN 36 | */ 37 | 38 | /** 39 | * @addtogroup Acti 40 | * @{ 41 | */ 42 | 43 | /* 44 | * Basic ReLU6 function 45 | * 46 | * Refer to header file for details. 47 | * 48 | */ 49 | 50 | void arm_relu6_s8(q7_t *data, uint16_t size) 51 | { 52 | int32_t i; 53 | 54 | for (i = 0; i < size; i++) 55 | { 56 | int32_t ip = data[i]; 57 | 58 | ip = MAX(ip, 0); 59 | data[i] = MIN(ip, 6); 60 | } 61 | } 62 | 63 | /** 64 | * @} end of Acti group 65 | */ 66 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/BasicMathFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISNNBasicMaths) 4 | 5 | include(configLib) 6 | 7 | file(GLOB SRC "./*_*.c") 8 | 9 | add_library(CMSISNNBasicMaths STATIC ${SRC}) 10 | 11 | configLib(CMSISNNBasicMaths ${ROOT}) 12 | configDsp(CMSISNNBasicMaths ${ROOT}) 13 | 14 | ### Includes 15 | target_include_directories(CMSISNNBasicMaths PUBLIC "${NN}/Include") 16 | target_include_directories(CMSISNNBasicMaths PUBLIC "${ROOT}/CMSIS/DSP/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/ConcatenationFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISNNConcatenation) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | file(GLOB SRC "./*_*.c") 9 | 10 | add_library(CMSISNNConcatenation STATIC ${SRC}) 11 | 12 | configLib(CMSISNNConcatenation ${ROOT}) 13 | configDsp(CMSISNNConcatenation ${ROOT}) 14 | 15 | ### Includes 16 | target_include_directories(CMSISNNConcatenation PUBLIC "${NN}/Include") 17 | target_include_directories(CMSISNNConcatenation PUBLIC "${ROOT}/CMSIS/DSP/Include") 18 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/ConvolutionFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISNNConvolutions) 4 | 5 | include(configLib) 6 | 7 | file(GLOB SRC "./*_*.c") 8 | 9 | add_library(CMSISNNConvolutions STATIC ${SRC}) 10 | 11 | configLib(CMSISNNConvolutions ${ROOT}) 12 | configDsp(CMSISNNConvolutions ${ROOT}) 13 | 14 | ### Includes 15 | target_include_directories(CMSISNNConvolutions PUBLIC "${NN}/Include") 16 | target_include_directories(CMSISNNConvolutions PUBLIC "${ROOT}/CMSIS/DSP/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/FullyConnectedFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISNNFullyConnected) 4 | 5 | include(configLib) 6 | 7 | file(GLOB SRC "./*_*.c") 8 | 9 | add_library(CMSISNNFullyConnected STATIC ${SRC}) 10 | 11 | configLib(CMSISNNFullyConnected ${ROOT}) 12 | configDsp(CMSISNNFullyConnected ${ROOT}) 13 | 14 | ### Includes 15 | target_include_directories(CMSISNNFullyConnected PUBLIC "${NN}/Include") 16 | target_include_directories(CMSISNNFullyConnected PUBLIC "${ROOT}/CMSIS/DSP/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/NNSupportFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISNNSupport) 4 | 5 | include(configLib) 6 | 7 | file(GLOB SRC "./*_*.c") 8 | 9 | add_library(CMSISNNSupport STATIC ${SRC}) 10 | 11 | configLib(CMSISNNSupport ${ROOT}) 12 | configDsp(CMSISNNSupport ${ROOT}) 13 | 14 | ### Includes 15 | target_include_directories(CMSISNNSupport PUBLIC "${NN}/Include") 16 | target_include_directories(CMSISNNSupport PUBLIC "${ROOT}/CMSIS/DSP/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/PoolingFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISNNPooling) 4 | 5 | include(configLib) 6 | 7 | file(GLOB SRC "./*_*.c") 8 | 9 | add_library(CMSISNNPooling STATIC ${SRC}) 10 | 11 | configLib(CMSISNNPooling ${ROOT}) 12 | configDsp(CMSISNNPooling ${ROOT}) 13 | 14 | ### Includes 15 | target_include_directories(CMSISNNPooling PUBLIC "${NN}/Include") 16 | target_include_directories(CMSISNNPooling PUBLIC "${ROOT}/CMSIS/DSP/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/ReshapeFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISNNReshape) 4 | 5 | include(configLib) 6 | include(configDsp) 7 | 8 | 9 | file(GLOB SRC "./*_*.c") 10 | 11 | add_library(CMSISNNReshape STATIC ${SRC}) 12 | 13 | configLib(CMSISNNReshape ${ROOT}) 14 | configDsp(CMSISNNReshape ${ROOT}) 15 | 16 | ### Includes 17 | target_include_directories(CMSISNNReshape PUBLIC "${NN}/Include") 18 | target_include_directories(CMSISNNReshape PUBLIC "${ROOT}/CMSIS/DSP/Include") 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/ReshapeFunctions/arm_reshape_s8.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010-2019 Arm Limited or its affiliates. All rights reserved. 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the License); you may 7 | * not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 14 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /* ---------------------------------------------------------------------- 20 | * Project: CMSIS NN Library 21 | * Title: arm_reshape_s8.c 22 | * Description: Reshape a s8 vector 23 | * 24 | * $Date: September 2019 25 | * $Revision: V.1.0.0 26 | * 27 | * Target Processor: Cortex-M cores 28 | * 29 | * -------------------------------------------------------------------- */ 30 | 31 | #include "arm_nnfunctions.h" 32 | 33 | /** 34 | * @ingroup groupNN 35 | */ 36 | 37 | /** 38 | * @addtogroup Reshape 39 | * @{ 40 | */ 41 | 42 | /** 43 | * Basic s8 reshape function. 44 | * 45 | * Refer header file for details. 46 | * 47 | */ 48 | 49 | void arm_reshape_s8(const int8_t *input, 50 | int8_t *output, 51 | const uint32_t total_size) 52 | { 53 | memcpy(output, input, total_size); 54 | } 55 | 56 | /** 57 | * @} end of Reshape group 58 | */ -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/NN/Source/SoftmaxFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.6) 2 | 3 | project(CMSISNNSoftmax) 4 | 5 | include(configLib) 6 | 7 | file(GLOB SRC "./*_*.c") 8 | 9 | add_library(CMSISNNSoftmax STATIC ${SRC}) 10 | 11 | configLib(CMSISNNSoftmax ${ROOT}) 12 | configDsp(CMSISNNSoftmax ${ROOT}) 13 | 14 | ### Includes 15 | target_include_directories(CMSISNNSoftmax PUBLIC "${NN}/Include") 16 | target_include_directories(CMSISNNSoftmax PUBLIC "${ROOT}/CMSIS/DSP/Include") 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMSIS/readme_patch.txt: -------------------------------------------------------------------------------- 1 | The following CMSIS patches are included in this version: 2 | - CMSIS 5.3.0 patched for IAR: Include\core_cm4.h and Include\core_cm7.h are modified to support legacy projects. 3 | - Only CMSIS-CORE are kept here. 4 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | retarget_io.c 5 | ) 6 | 7 | target_include_directories(${VSF_LIB_NAME} INTERFACE 8 | CMSIS/Core/Include 9 | CMSIS/DSP/Include 10 | CMSIS/NN/Include 11 | ) 12 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/retarget_io.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/utilities/compiler/arm/retarget_io.c -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/arm/vsf_stdio_lib_armv6_m_abv.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/utilities/compiler/arm/vsf_stdio_lib_armv6_m_abv.a -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/mcs51/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | retarget_io.c 5 | mcs51_interrupt.c 6 | ) 7 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/rv/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | retarget_io.c 5 | ) 6 | 7 | add_subdirectory(RISCV) 8 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/rv/RISCV/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(drivers) 4 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/rv/RISCV/drivers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | n200_func.c 5 | ) 6 | 7 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/rv/RISCV/drivers/n200_eclic.h: -------------------------------------------------------------------------------- 1 | // See LICENSE file for licence details 2 | 3 | #ifndef N200_ECLIC_H 4 | #define N200_ECLIC_H 5 | 6 | #include "riscv_const.h" 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | #define ECLICINTCTLBITS 4 13 | 14 | //ECLIC memory map 15 | // Offset 16 | // 0x0000 1B RW ecliccfg 17 | #define ECLIC_CFG_OFFSET 0x0 18 | // 0x0004 4B R eclicinfo 19 | #define ECLIC_INFO_OFFSET 0x4 20 | // 0x000B 1B RW mintthresh 21 | #define ECLIC_MTH_OFFSET 0xB 22 | // 23 | // 0x1000+4*i 1B/input RW eclicintip[i] 24 | #define ECLIC_INT_IP_OFFSET _AC(0x1000,UL) 25 | // 0x1001+4*i 1B/input RW eclicintie[i] 26 | #define ECLIC_INT_IE_OFFSET _AC(0x1001,UL) 27 | // 0x1002+4*i 1B/input RW eclicintattr[i] 28 | #define ECLIC_INT_ATTR_OFFSET _AC(0x1002,UL) 29 | 30 | #define ECLIC_INT_ATTR_SHV 0x01 31 | #define ECLIC_INT_ATTR_TRIG_LEVEL 0x00 32 | #define ECLIC_INT_ATTR_TRIG_EDGE 0x02 33 | #define ECLIC_INT_ATTR_TRIG_POS 0x00 34 | #define ECLIC_INT_ATTR_TRIG_NEG 0x04 35 | 36 | // 0x1003+4*i 1B/input RW eclicintctl[i] 37 | #define ECLIC_INT_CTRL_OFFSET _AC(0x1003,UL) 38 | // 39 | // ... 40 | // 41 | #define ECLIC_ADDR_BASE 0xd2000000 42 | 43 | 44 | #define ECLIC_CFG_NLBITS_MASK _AC(0x1E,UL) 45 | #define ECLIC_CFG_NLBITS_LSB (1u) 46 | 47 | #define MSIP_HANDLER eclic_msip_handler 48 | #define MTIME_HANDLER eclic_mtip_handler 49 | #define BWEI_HANDLER eclic_bwei_handler 50 | #define PMOVI_HANDLER eclic_pmovi_handler 51 | 52 | #ifdef __cplusplus 53 | } 54 | #endif 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/rv/RISCV/drivers/riscv_bits.h: -------------------------------------------------------------------------------- 1 | // See LICENSE for license details. 2 | #ifndef _RISCV_BITS_H 3 | #define _RISCV_BITS_H 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | #define likely(x) __builtin_expect((x), 1) 10 | #define unlikely(x) __builtin_expect((x), 0) 11 | 12 | #define ROUNDUP(a, b) ((((a)-1)/(b)+1)*(b)) 13 | #define ROUNDDOWN(a, b) ((a)/(b)*(b)) 14 | 15 | #define MAX(a, b) ((a) > (b) ? (a) : (b)) 16 | #define MIN(a, b) ((a) < (b) ? (a) : (b)) 17 | #define CLAMP(a, lo, hi) MIN(MAX(a, lo), hi) 18 | 19 | #define EXTRACT_FIELD(val, which) (((val) & (which)) / ((which) & ~((which)-1))) 20 | #define INSERT_FIELD(val, which, fieldval) (((val) & ~(which)) | ((fieldval) * ((which) & ~((which)-1)))) 21 | 22 | #define STR(x) XSTR(x) 23 | #define XSTR(x) #x 24 | 25 | #if __riscv_xlen == 64 26 | # define SLL32 sllw 27 | # define STORE sd 28 | # define LOAD ld 29 | # define LWU lwu 30 | # define LOG_REGBYTES 3 31 | #else 32 | # define SLL32 sll 33 | # define STORE sw 34 | # define LOAD lw 35 | # define LWU lw 36 | # define LOG_REGBYTES 2 37 | #endif 38 | #define REGBYTES (1 << LOG_REGBYTES) 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/rv/RISCV/drivers/riscv_const.h: -------------------------------------------------------------------------------- 1 | // See LICENSE for license details. 2 | /* Derived from */ 3 | 4 | #ifndef _RISCV_CONST_H 5 | #define _RISCV_CONST_H 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #ifdef __ASSEMBLER__ 12 | #define _AC(X,Y) X 13 | #define _AT(T,X) X 14 | #else 15 | #define _AC(X,Y) (X##Y) 16 | #define _AT(T,X) ((T)(X)) 17 | #endif /* !__ASSEMBLER__*/ 18 | 19 | #define _BITUL(x) (_AC(1,UL) << (x)) 20 | #define _BITULL(x) (_AC(1,ULL) << (x)) 21 | 22 | #ifdef __cplusplus 23 | } 24 | #endif 25 | 26 | #endif /* _NUCLEI_CONST_H */ 27 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/rv/retarget_io.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Copyright(C)2009-2019 by VSF Team * 3 | * * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); * 5 | * you may not use this file except in compliance with the License. * 6 | * You may obtain a copy of the License at * 7 | * * 8 | * http://www.apache.org/licenses/LICENSE-2.0 * 9 | * * 10 | * Unless required by applicable law or agreed to in writing, software * 11 | * distributed under the License is distributed on an "AS IS" BASIS, * 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 13 | * See the License for the specific language governing permissions and * 14 | * limitations under the License. * 15 | * * 16 | ****************************************************************************/ 17 | 18 | 19 | #include "rv_compiler.h" 20 | 21 | 22 | //#if !__IS_COMPILER_IAR__ 23 | //#include 24 | //#endif 25 | 26 | #ifndef UNUSED_PARAM 27 | # define UNUSED_PARAM(__VAL) (__VAL) = (__VAL) 28 | #endif 29 | 30 | #define __USE_COMMON_RETARGET_IO_C__ 31 | #include "../__common/__retarget_io.c" 32 | 33 | 34 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/compiler/x86/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/language_extension/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | code_region.c 5 | delegate.c 6 | simple_sprintf.c 7 | simple_sscanf.c 8 | ) 9 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/template/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | vsf_bitmap.c 5 | vsf_list.c 6 | vsf_queue.c 7 | ) 8 | -------------------------------------------------------------------------------- /vsf/vsf/utilities/template/vsf_list.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/utilities/template/vsf_list.h -------------------------------------------------------------------------------- /vsf/vsf/vsf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vllogic/vllink_highspeed/3471ade88eff46e1005540b0f3f6d9d183a8909e/vsf/vsf/vsf.h -------------------------------------------------------------------------------- /vsf/vsf_private/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory_existed(component) 4 | add_subdirectory_existed(hal) 5 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory(driver) 4 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory_existed(${VSF_HAL_CHIP_VENDOR}) 4 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | add_subdirectory_existed(${VSF_HAL_CHIP_SERIES}) 4 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | driver.c 5 | jtag.c 6 | swd.c 7 | timestamp.c 8 | ) 9 | 10 | add_subdirectory(common) 11 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/__device.h: -------------------------------------------------------------------------------- 1 | /*============================ INCLUDES ======================================*/ 2 | #include "hal/vsf_hal_cfg.h" 3 | 4 | #undef VSF_DEVICE_HEADER 5 | 6 | #if defined(__GD32E10X__) 7 | # define VSF_DEVICE_HEADER "./device.h" 8 | #else 9 | # error No supported device found. 10 | #endif 11 | 12 | /* include specified device driver header file */ 13 | #include VSF_DEVICE_HEADER 14 | 15 | #ifdef __VSF_HEADER_ONLY_SHOW_ARCH_INFO__ 16 | # ifndef __CPU_ARM__ 17 | # define __CPU_ARM__ 18 | # endif 19 | #else 20 | 21 | #ifndef __HAL_DRIVER_GIGADEVICE_GD32E10X_DEVICE_H__ 22 | #define __HAL_DRIVER_GIGADEVICE_GD32E10X_DEVICE_H__ 23 | 24 | /*============================ MACROS ========================================*/ 25 | /*============================ MACROFIED FUNCTIONS ===========================*/ 26 | /*============================ TYPES =========================================*/ 27 | /*============================ GLOBAL VARIABLES ==============================*/ 28 | /*============================ LOCAL VARIABLES ===============================*/ 29 | /*============================ PROTOTYPES ====================================*/ 30 | 31 | #endif // __HAL_DRIVER_GIGADEVICE_GD32E10X_DEVICE_H__ 32 | #endif // __VSF_HEADER_ONLY_SHOW_ARCH_INFO__ 33 | /* EOF */ 34 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | __common.c 5 | dma.c 6 | flash.c 7 | io.c 8 | spi.c 9 | startup_gd32e10x.c 10 | usart.c 11 | ) 12 | 13 | add_subdirectory(usb) 14 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/common/__common.h: -------------------------------------------------------------------------------- 1 | #ifndef __HAL_DRIVER_GIGADEVICE_GD32E10X_COMMON_H__ 2 | #define __HAL_DRIVER_GIGADEVICE_GD32E10X_COMMON_H__ 3 | 4 | /* \note __common.h should only be included by device.h */ 5 | 6 | /*============================ INCLUDES ======================================*/ 7 | #include "hal/vsf_hal_cfg.h" 8 | #include "./vendor/Include/gd32e10x.h" 9 | #include "hal/arch/vsf_arch.h" 10 | /*============================ MACROS ========================================*/ 11 | /*============================ MACROFIED FUNCTIONS ===========================*/ 12 | /*============================ TYPES =========================================*/ 13 | /*============================ GLOBAL VARIABLES ==============================*/ 14 | /*============================ LOCAL VARIABLES ===============================*/ 15 | /*============================ INCLUDES ======================================*/ 16 | /*============================ PROTOTYPES ====================================*/ 17 | 18 | #endif 19 | /* EOF */ 20 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/common/usb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | usb_common.c 5 | usb_lv0.c 6 | usb.c 7 | ) 8 | 9 | add_subdirectory(dc) 10 | add_subdirectory(hc) 11 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/common/usb/dc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | usbd.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/common/usb/hc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | usbh.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/driver.h: -------------------------------------------------------------------------------- 1 | #if defined(__VSF_HEADER_ONLY_SHOW_ARCH_INFO__) 2 | 3 | # include "__device.h" 4 | 5 | #else 6 | 7 | # ifndef __HAL_DRIVER_GIGADEVICE_GD32E10X_H__ 8 | # define __HAL_DRIVER_GIGADEVICE_GD32E10X_H__ 9 | 10 | /*============================ INCLUDES ======================================*/ 11 | 12 | # include "hal/vsf_hal_cfg.h" 13 | # include "./device.h" 14 | # include "./common/usb/usb.h" 15 | # include "./common/dma.h" 16 | # include "./common/flash.h" 17 | # include "./common/io.h" 18 | # include "./common/spi.h" 19 | # include "./common/usart.h" 20 | # include "./jtag.h" 21 | # include "./swd.h" 22 | # include "./timestamp.h" 23 | 24 | /*============================ MACROS ========================================*/ 25 | /*============================ MACROFIED FUNCTIONS ===========================*/ 26 | /*============================ TYPES =========================================*/ 27 | /*============================ GLOBAL VARIABLES ==============================*/ 28 | /*============================ LOCAL VARIABLES ===============================*/ 29 | /*============================ PROTOTYPES ====================================*/ 30 | 31 | # endif // __HAL_DRIVER_GIGADEVICE_GD32E10X_H__ 32 | #endif // __VSF_HEADER_ONLY_SHOW_ARCH_INFO__ 33 | /* EOF */ 34 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/swd.h: -------------------------------------------------------------------------------- 1 | #ifndef __HAL_DRIVER_GIGADEVICE_GD32E10X_SWD_H__ 2 | #define __HAL_DRIVER_GIGADEVICE_GD32E10X_SWD_H__ 3 | 4 | /*============================ INCLUDES ======================================*/ 5 | 6 | #include "hal/vsf_hal_cfg.h" 7 | #include "__device.h" 8 | 9 | /*============================ MACROS ========================================*/ 10 | 11 | #ifndef SWD0_ENABLE 12 | # define SWD0_ENABLE 0 13 | #endif 14 | 15 | #define SWD_COUNT (0 + SWD0_ENABLE) 16 | 17 | #define SWD_SYNC 18 | //#define SWD_ASYNC 19 | 20 | /*============================ MACROFIED FUNCTIONS ===========================*/ 21 | /*============================ TYPES =========================================*/ 22 | /*============================ GLOBAL VARIABLES ==============================*/ 23 | /*============================ LOCAL VARIABLES ===============================*/ 24 | /*============================ INCLUDES ======================================*/ 25 | /*============================ PROTOTYPES ====================================*/ 26 | 27 | #if SWD_COUNT 28 | void vsfhal_swd_init(int32_t int_priority); 29 | void vsfhal_swd_fini(void); 30 | void vsfhal_swd_io_reconfig(void); 31 | void vsfhal_swd_config(uint16_t kHz, uint16_t retry, uint8_t idle, uint8_t trn, bool data_force); 32 | void vsfhal_swd_seqout(uint8_t *data, uint32_t bitlen); 33 | void vsfhal_swd_seqin(uint8_t *data, uint32_t bitlen); 34 | uint32_t vsfhal_swd_read(uint32_t request, uint8_t *r_data); 35 | uint32_t vsfhal_swd_write(uint32_t request, uint8_t *w_data); 36 | #ifdef SWD_ASYNC 37 | uint32_t vsfhal_swd_wait(void); 38 | void vsfhal_swd_clear(void); 39 | #endif 40 | #if TIMESTAMP_CLOCK 41 | uint32_t vsfhal_swd_get_timestamp(void); 42 | #endif 43 | #endif 44 | 45 | #endif 46 | /* EOF */ 47 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/timestamp.c: -------------------------------------------------------------------------------- 1 | #include "timestamp.h" 2 | #include "vsf.h" 3 | 4 | #if TIMESTAMP_CLOCK 5 | 6 | static uint32_t timestamp_x65536 = 0; 7 | 8 | void vsfhal_timestamp_init(uint32_t timestamp, int32_t int_priority) 9 | { 10 | struct vsfhal_clk_info_t *info = vsfhal_clk_info_get(); 11 | 12 | RCU_APB1EN |= RCU_APB1EN_TIMER5EN; 13 | TIMER_CTL0(TIMER5) = TIMER_CTL0_ARSE; 14 | TIMER_DMAINTEN(TIMER5) = TIMER_DMAINTEN_UPIE; 15 | if (info->apb1_freq_hz == info->ahb_freq_hz) 16 | TIMER_PSC(TIMER5) = info->apb1_freq_hz / timestamp - 1; 17 | else 18 | TIMER_PSC(TIMER5) = info->apb1_freq_hz / 2 / timestamp - 1; 19 | TIMER_CNT(TIMER5) = 0; 20 | TIMER_CAR(TIMER5) = 0xffff; 21 | TIMER_CTL0(TIMER5) |= TIMER_CTL0_CEN; 22 | NVIC_EnableIRQ(TIMER5_IRQn); 23 | } 24 | 25 | static uint32_t get_timestamp(void) 26 | { 27 | uint32_t ret; 28 | NVIC_DisableIRQ(TIMER5_IRQn); 29 | ret = TIMER_CNT(TIMER5); 30 | ret += timestamp_x65536; 31 | NVIC_EnableIRQ(TIMER5_IRQn); 32 | return ret; 33 | } 34 | 35 | uint32_t vsfhal_timestamp_get(void) 36 | { 37 | uint32_t timestamp1, timestamp2; 38 | 39 | do { 40 | timestamp1 = get_timestamp(); 41 | timestamp2 = get_timestamp(); 42 | } while (timestamp1 > timestamp2); 43 | return timestamp2; 44 | } 45 | 46 | ROOT void TIMER5_IRQHandler(void) 47 | { 48 | TIMER_INTF(TIMER5) = 0; 49 | timestamp_x65536 += 0x1ul << 16; 50 | } 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32E10X/timestamp.h: -------------------------------------------------------------------------------- 1 | #ifndef __HAL_DRIVER_GIGADEVICE_GD32E10X_TIMESTAMP_H__ 2 | #define __HAL_DRIVER_GIGADEVICE_GD32E10X_TIMESTAMP_H__ 3 | 4 | /*============================ INCLUDES ======================================*/ 5 | 6 | #include "hal/vsf_hal_cfg.h" 7 | #include "__device.h" 8 | 9 | /*============================ MACROS ========================================*/ 10 | /*============================ MACROFIED FUNCTIONS ===========================*/ 11 | /*============================ TYPES =========================================*/ 12 | /*============================ GLOBAL VARIABLES ==============================*/ 13 | /*============================ LOCAL VARIABLES ===============================*/ 14 | /*============================ INCLUDES ======================================*/ 15 | /*============================ PROTOTYPES ====================================*/ 16 | 17 | void vsfhal_timestamp_init(uint32_t timestamp, int32_t int_priority); 18 | uint32_t vsfhal_timestamp_get(void); 19 | 20 | #endif 21 | /* EOF */ 22 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | driver.c 5 | jtag.c 6 | swd.c 7 | timestamp.c 8 | ) 9 | 10 | add_subdirectory(common) 11 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/__device.h: -------------------------------------------------------------------------------- 1 | /*============================ INCLUDES ======================================*/ 2 | #include "hal/vsf_hal_cfg.h" 3 | 4 | #undef VSF_DEVICE_HEADER 5 | 6 | #if defined(__GD32F330__) || defined(__GD32F350__) 7 | # define VSF_DEVICE_HEADER "./device.h" 8 | #else 9 | # error No supported device found. 10 | #endif 11 | 12 | /* include specified device driver header file */ 13 | #include VSF_DEVICE_HEADER 14 | 15 | #ifdef __VSF_HEADER_ONLY_SHOW_ARCH_INFO__ 16 | # ifndef __CPU_ARM__ 17 | # define __CPU_ARM__ 18 | # endif 19 | #else 20 | 21 | #ifndef __HAL_DRIVER_GIGADEVICE_GD32F3X0_DEVICE_H__ 22 | #define __HAL_DRIVER_GIGADEVICE_GD32F3X0_DEVICE_H__ 23 | 24 | /*============================ MACROS ========================================*/ 25 | /*============================ MACROFIED FUNCTIONS ===========================*/ 26 | /*============================ TYPES =========================================*/ 27 | /*============================ GLOBAL VARIABLES ==============================*/ 28 | /*============================ LOCAL VARIABLES ===============================*/ 29 | /*============================ PROTOTYPES ====================================*/ 30 | 31 | #endif // __HAL_DRIVER_GIGADEVICE_GD32F3X0_DEVICE_H__ 32 | #endif // __VSF_HEADER_ONLY_SHOW_ARCH_INFO__ 33 | /* EOF */ 34 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | __common.c 5 | dma.c 6 | flash.c 7 | io.c 8 | spi.c 9 | startup_gd32f3x0.c 10 | usart.c 11 | ) 12 | 13 | add_subdirectory(usb) 14 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/common/__common.h: -------------------------------------------------------------------------------- 1 | #ifndef __HAL_DRIVER_GIGADEVICE_GD32F3X0_COMMON_H__ 2 | #define __HAL_DRIVER_GIGADEVICE_GD32F3X0_COMMON_H__ 3 | 4 | /* \note __common.h should only be included by device.h */ 5 | 6 | /*============================ INCLUDES ======================================*/ 7 | #include "hal/vsf_hal_cfg.h" 8 | #include "./vendor/Include/gd32f3x0.h" 9 | #include "hal/arch/vsf_arch.h" 10 | /*============================ MACROS ========================================*/ 11 | /*============================ MACROFIED FUNCTIONS ===========================*/ 12 | /*============================ TYPES =========================================*/ 13 | /*============================ GLOBAL VARIABLES ==============================*/ 14 | /*============================ LOCAL VARIABLES ===============================*/ 15 | /*============================ INCLUDES ======================================*/ 16 | /*============================ PROTOTYPES ====================================*/ 17 | 18 | #endif 19 | /* EOF */ 20 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/common/dma.h: -------------------------------------------------------------------------------- 1 | #ifndef __HAL_DRIVER_GIGADEVICE_GD32F3X0_DMA_H__ 2 | #define __HAL_DRIVER_GIGADEVICE_GD32F3X0_DMA_H__ 3 | 4 | /*============================ INCLUDES ======================================*/ 5 | 6 | #include "hal/vsf_hal_cfg.h" 7 | #include "../__device.h" 8 | 9 | /*============================ MACROS ========================================*/ 10 | 11 | #ifndef DMA0_ENABLE 12 | # define DMA0_ENABLE 0 13 | #endif 14 | #ifndef DMA_CHANNEL_COUNT 15 | # define DMA_CHANNEL_COUNT 7 16 | #endif 17 | 18 | #define DMA_COUNT (0 + DMA0_ENABLE) 19 | 20 | /*============================ MACROFIED FUNCTIONS ===========================*/ 21 | /*============================ TYPES =========================================*/ 22 | 23 | 24 | #define DMA_CHxCTL(dmax, ch) REG32((dmax) + 0x08U + 0x14U * (ch)) 25 | #define DMA_CHxCNT(dmax, ch) REG32((dmax) + 0x0CU + 0x14U * (ch)) 26 | #define DMA_CHxPADDR(dmax, ch) REG32((dmax) + 0x10U + 0x14U * (ch)) 27 | #define DMA_CHxMADDR(dmax, ch) REG32((dmax) + 0x14U + 0x14U * (ch)) 28 | 29 | enum dma_idx_t { 30 | #if DMA0_ENABLE 31 | DMA0_IDX, 32 | #endif 33 | DMA_IDX_NUM, 34 | DMA_INVALID_IDX, 35 | }; 36 | 37 | /*============================ GLOBAL VARIABLES ==============================*/ 38 | /*============================ LOCAL VARIABLES ===============================*/ 39 | /*============================ INCLUDES ======================================*/ 40 | /*============================ PROTOTYPES ====================================*/ 41 | 42 | void vsf_dma_config_channel(enum dma_idx_t idx, uint8_t channel, 43 | callback_param_t callback, void *param, int32_t int_priority); 44 | 45 | #endif // __HAL_DRIVER_GIGADEVICE_GD32F3X0_DMA_H__ 46 | /* EOF */ 47 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/common/usb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | usb_common.c 5 | usb_lv0.c 6 | usb.c 7 | ) 8 | 9 | add_subdirectory(dc) 10 | add_subdirectory(hc) 11 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/common/usb/dc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | usbd.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/common/usb/hc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CMakeLists head 2 | 3 | target_sources(${VSF_LIB_NAME} INTERFACE 4 | usbh.c 5 | ) 6 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/driver.h: -------------------------------------------------------------------------------- 1 | #if defined(__VSF_HEADER_ONLY_SHOW_ARCH_INFO__) 2 | 3 | # include "__device.h" 4 | 5 | #else 6 | 7 | # ifndef __HAL_DRIVER_GIGADEVICE_GD32F3X0_H__ 8 | # define __HAL_DRIVER_GIGADEVICE_GD32F3X0_H__ 9 | 10 | /*============================ INCLUDES ======================================*/ 11 | 12 | # include "hal/vsf_hal_cfg.h" 13 | # include "./device.h" 14 | # include "./common/usb/usb.h" 15 | # include "./common/dma.h" 16 | # include "./common/flash.h" 17 | # include "./common/io.h" 18 | # include "./common/spi.h" 19 | # include "./common/usart.h" 20 | # include "./jtag.h" 21 | # include "./swd.h" 22 | # include "./timestamp.h" 23 | 24 | /*============================ MACROS ========================================*/ 25 | /*============================ MACROFIED FUNCTIONS ===========================*/ 26 | /*============================ TYPES =========================================*/ 27 | /*============================ GLOBAL VARIABLES ==============================*/ 28 | /*============================ LOCAL VARIABLES ===============================*/ 29 | /*============================ PROTOTYPES ====================================*/ 30 | 31 | # endif // __HAL_DRIVER_GIGADEVICE_GD32F3X0_H__ 32 | #endif // __VSF_HEADER_ONLY_SHOW_ARCH_INFO__ 33 | /* EOF */ 34 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/swd.h: -------------------------------------------------------------------------------- 1 | #ifndef __HAL_DRIVER_GIGADEVICE_GD32F3X0_SWD_H__ 2 | #define __HAL_DRIVER_GIGADEVICE_GD32F3X0_SWD_H__ 3 | 4 | /*============================ INCLUDES ======================================*/ 5 | 6 | #include "hal/vsf_hal_cfg.h" 7 | #include "__device.h" 8 | 9 | /*============================ MACROS ========================================*/ 10 | 11 | #ifndef SWD0_ENABLE 12 | # define SWD0_ENABLE 0 13 | #endif 14 | 15 | #define SWD_COUNT (0 + SWD0_ENABLE) 16 | 17 | #define SWD_SYNC 18 | //#define SWD_ASYNC 19 | 20 | /*============================ MACROFIED FUNCTIONS ===========================*/ 21 | /*============================ TYPES =========================================*/ 22 | /*============================ GLOBAL VARIABLES ==============================*/ 23 | /*============================ LOCAL VARIABLES ===============================*/ 24 | /*============================ INCLUDES ======================================*/ 25 | /*============================ PROTOTYPES ====================================*/ 26 | 27 | #if SWD_COUNT 28 | void vsfhal_swd_init(int32_t int_priority); 29 | void vsfhal_swd_fini(void); 30 | void vsfhal_swd_io_reconfig(void); 31 | void vsfhal_swd_config(uint16_t kHz, uint16_t retry, uint8_t idle, uint8_t trn, bool data_force); 32 | void vsfhal_swd_seqout(uint8_t *data, uint32_t bitlen); 33 | void vsfhal_swd_seqin(uint8_t *data, uint32_t bitlen); 34 | uint32_t vsfhal_swd_read(uint32_t request, uint8_t *r_data); 35 | uint32_t vsfhal_swd_write(uint32_t request, uint8_t *w_data); 36 | #ifdef SWD_ASYNC 37 | uint32_t vsfhal_swd_wait(void); 38 | void vsfhal_swd_clear(void); 39 | #endif 40 | #if TIMESTAMP_CLOCK 41 | uint32_t vsfhal_swd_get_timestamp(void); 42 | #endif 43 | #endif 44 | 45 | #endif 46 | /* EOF */ 47 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/timestamp.c: -------------------------------------------------------------------------------- 1 | #include "timestamp.h" 2 | #include "vsf.h" 3 | 4 | #if TIMESTAMP_CLOCK 5 | 6 | static uint32_t timestamp_x65536 = 0; 7 | 8 | void vsfhal_timestamp_init(uint32_t timestamp, int32_t int_priority) 9 | { 10 | struct vsfhal_clk_info_t *info = vsfhal_clk_info_get(); 11 | 12 | RCU_APB1EN |= RCU_APB1EN_TIMER13EN; 13 | TIMER_CTL0(TIMER13) = TIMER_CTL0_ARSE; 14 | TIMER_DMAINTEN(TIMER13) = TIMER_DMAINTEN_UPIE; 15 | if (info->apb1_freq_hz == info->ahb_freq_hz) 16 | TIMER_PSC(TIMER13) = info->apb1_freq_hz / timestamp - 1; 17 | else 18 | TIMER_PSC(TIMER13) = info->apb1_freq_hz / 2 / timestamp - 1; 19 | TIMER_CNT(TIMER13) = 0; 20 | TIMER_CAR(TIMER13) = 0xffff; 21 | TIMER_CTL0(TIMER13) |= TIMER_CTL0_CEN; 22 | NVIC_EnableIRQ(TIMER13_IRQn); 23 | } 24 | 25 | static uint32_t get_timestamp(void) 26 | { 27 | uint32_t ret; 28 | NVIC_DisableIRQ(TIMER13_IRQn); 29 | ret = TIMER_CNT(TIMER13); 30 | ret += timestamp_x65536; 31 | NVIC_EnableIRQ(TIMER13_IRQn); 32 | return ret; 33 | } 34 | 35 | uint32_t vsfhal_timestamp_get(void) 36 | { 37 | uint32_t timestamp1, timestamp2; 38 | 39 | do { 40 | timestamp1 = get_timestamp(); 41 | timestamp2 = get_timestamp(); 42 | } while (timestamp1 > timestamp2); 43 | return timestamp2; 44 | } 45 | 46 | ROOT void TIMER13_IRQHandler(void) 47 | { 48 | TIMER_INTF(TIMER13) = 0; 49 | timestamp_x65536 += 0x1ul << 16; 50 | } 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /vsf/vsf_private/hal/driver/GigaDevice/GD32F3X0/timestamp.h: -------------------------------------------------------------------------------- 1 | #ifndef __HAL_DRIVER_GIGADEVICE_GD32F3X0_TIMESTAMP_H__ 2 | #define __HAL_DRIVER_GIGADEVICE_GD32F3X0_TIMESTAMP_H__ 3 | 4 | /*============================ INCLUDES ======================================*/ 5 | 6 | #include "hal/vsf_hal_cfg.h" 7 | #include "__device.h" 8 | 9 | /*============================ MACROS ========================================*/ 10 | /*============================ MACROFIED FUNCTIONS ===========================*/ 11 | /*============================ TYPES =========================================*/ 12 | /*============================ GLOBAL VARIABLES ==============================*/ 13 | /*============================ LOCAL VARIABLES ===============================*/ 14 | /*============================ INCLUDES ======================================*/ 15 | /*============================ PROTOTYPES ====================================*/ 16 | 17 | void vsfhal_timestamp_init(uint32_t timestamp, int32_t int_priority); 18 | uint32_t vsfhal_timestamp_get(void); 19 | 20 | #endif 21 | /* EOF */ 22 | -------------------------------------------------------------------------------- /vsf/vsf_private/user_vsf.h: -------------------------------------------------------------------------------- 1 | #ifndef __USER_VSF_H__ 2 | #define __USER_VSF_H__ 3 | 4 | #endif // __USER_VSF_H__ 5 | --------------------------------------------------------------------------------