mirror of
https://github.com/pvvx/RTL00MP3.git
synced 2025-07-31 12:41:06 +00:00
update
This commit is contained in:
parent
8f1ce60a14
commit
38dc83bcb8
55 changed files with 2059 additions and 80 deletions
39
RTL00_SDKV35a/Makefile
Normal file
39
RTL00_SDKV35a/Makefile
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
include userset.mk
|
||||
|
||||
all: ram_all
|
||||
mp: ram_all_mp
|
||||
|
||||
.PHONY: ram_all
|
||||
ram_all:
|
||||
@$(MAKE) -f $(SDK_PATH)sdkbuild.mk
|
||||
@$(MAKE) -f $(SDK_PATH)flasher.mk genbin1 genbin23
|
||||
|
||||
.PHONY: ram_all_mp
|
||||
ram_all_mp:
|
||||
@$(MAKE) -f $(SDK_PATH)sdkbuild.mk mp
|
||||
@$(MAKE) -f $(SDK_PATH)flasher.mk mp
|
||||
|
||||
.PHONY: clean clean_all
|
||||
clean:
|
||||
@$(MAKE) -f $(SDK_PATH)sdkbuild.mk clean
|
||||
|
||||
clean_all:
|
||||
@$(MAKE) -f $(SDK_PATH)sdkbuild.mk clean_all
|
||||
|
||||
.PHONY: flashburn runram reset test readfullflash flashwebfs
|
||||
flashburn:
|
||||
@$(MAKE) -f $(SDK_PATH)flasher.mk flashburn
|
||||
|
||||
flash_OTA:
|
||||
@$(MAKE) -f $(SDK_PATH)flasher.mk flash_OTA
|
||||
|
||||
|
||||
runram:
|
||||
@$(MAKE) --f $(SDK_PATH)flasher.mk runram
|
||||
|
||||
reset:
|
||||
@$(MAKE) -f $(SDK_PATH)flasher.mk reset
|
||||
|
||||
readfullflash:
|
||||
@$(MAKE) -f $(SDK_PATH)flasher.mk readfullflash
|
||||
|
||||
|
|
@ -534,10 +534,3 @@ int __aeabi_fcmpgt(float a, float b)
|
|||
{
|
||||
return __rtl_fcmpgt_v1_00(a, b);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
326
RTL00_SDKV35a/flasher.mk
Normal file
326
RTL00_SDKV35a/flasher.mk
Normal file
|
|
@ -0,0 +1,326 @@
|
|||
# RTL8710 Flasher v0.0.alfa
|
||||
# pvvx 21.09.2016
|
||||
include userset.mk
|
||||
include $(SDK_PATH)paths.mk
|
||||
#---------------------------
|
||||
#FLASHER = stlink-v2-1
|
||||
#FLASHER = stlink-v2
|
||||
FLASHER ?= Jlink
|
||||
JLINK_PATH ?= D:/MCU/SEGGER/JLink_V612i/
|
||||
#---------------------------
|
||||
# Default
|
||||
#---------------------------
|
||||
# TARGET dirs
|
||||
TARGET ?= build
|
||||
OBJ_DIR ?= build/obj
|
||||
BIN_DIR ?= build/bin
|
||||
ELFFILE ?= $(OBJ_DIR)/$(TARGET).axf
|
||||
#---------------------------
|
||||
# Compilation tools
|
||||
CROSS_COMPILE ?= $(GCC_PATH)arm-none-eabi-
|
||||
AR ?= $(CROSS_COMPILE)ar
|
||||
CC ?= $(CROSS_COMPILE)gcc
|
||||
AS ?= $(CROSS_COMPILE)as
|
||||
NM ?= $(CROSS_COMPILE)nm
|
||||
LD ?= $(CROSS_COMPILE)gcc
|
||||
GDB ?= $(CROSS_COMPILE)gdb
|
||||
SIZE ?= $(CROSS_COMPILE)size
|
||||
OBJCOPY ?= $(CROSS_COMPILE)objcopy
|
||||
OBJDUMP ?= $(CROSS_COMPILE)objdump
|
||||
|
||||
# Make bunary tools
|
||||
TOOLS_PATH ?= component/soc/realtek/8195a/misc/iar_utility/common/tools/
|
||||
ifneq ($(shell uname), Linux)
|
||||
EXE = .exe
|
||||
endif
|
||||
PICK = $(TOOLS_PATH)pick$(EXE)
|
||||
PADDING = $(TOOLS_PATH)padding$(EXE)
|
||||
CHCKSUM = $(TOOLS_PATH)checksum$(EXE)
|
||||
|
||||
# openocd tools
|
||||
OPENOCD = $(OPENOCD_PATH)openocd
|
||||
|
||||
JLINK_GDB ?= JLinkGDBServer.exe
|
||||
JLINK_EXE ?= JLink.exe
|
||||
|
||||
ifeq ($(FLASHER), Jlink)
|
||||
# Jlink FLASHER_SPEED ..4000 kHz
|
||||
FLASHER_SPEED = 3500
|
||||
else
|
||||
ifeq ($(FLASHER),stlink-v2)
|
||||
# stlink-v2 FLASHER_SPEED ..1800 kHz
|
||||
FLASHER_SPEED = 1800
|
||||
else
|
||||
# over FLASHER_SPEED ..500 kHz ?
|
||||
FLASHER_SPEED = 500
|
||||
endif
|
||||
endif
|
||||
|
||||
# COMPILED_BOOT if defined -> extract image1, boot head in elf
|
||||
COMPILED_BOOT=1
|
||||
# COMPILED_BOOT_BIN if !defined -> use source startup boot
|
||||
#COMPILED_BOOT_BIN=1
|
||||
# PADDINGSIZE defined -> image2 OTA
|
||||
PADDINGSIZE =44k
|
||||
|
||||
NMAPFILE = $(OBJ_DIR)/$(TARGET).nmap
|
||||
|
||||
#FLASHER_PATH ?= flasher/
|
||||
|
||||
#RAM_IMAGE?= $(BIN_DIR)/ram.bin
|
||||
|
||||
RAM1_IMAGE ?= $(BIN_DIR)/ram_1.bin
|
||||
RAM1P_IMAGE ?= $(BIN_DIR)/ram_1.p.bin
|
||||
RAM1R_IMAGE ?= $(BIN_DIR)/ram_1.r.bin
|
||||
|
||||
RAM2_IMAGE = $(BIN_DIR)/ram_2.bin
|
||||
RAM2P_IMAGE = $(BIN_DIR)/ram_2.p.bin
|
||||
RAM2NS_IMAGE = $(BIN_DIR)/ram_2.ns.bin
|
||||
|
||||
RAM3_IMAGE = $(BIN_DIR)/sdram.bin
|
||||
RAM3P_IMAGE = $(BIN_DIR)/sdram.p.bin
|
||||
|
||||
FLASH_IMAGE = $(BIN_DIR)/ram_all.bin
|
||||
OTA_IMAGE = $(BIN_DIR)/ota.bin
|
||||
|
||||
#all: FLASH_IMAGE = $(BIN_DIR)/ram_all.bin
|
||||
#all: OTA_IMAGE = $(BIN_DIR)/ota.bin
|
||||
mp: FLASH_IMAGE = $(BIN_DIR)/ram_all_mp.bin
|
||||
mp: OTA_IMAGE = $(BIN_DIR)/ota_mp.bin
|
||||
|
||||
TST_IMAGE = $(BIN_DIR)/ram_2.bin
|
||||
|
||||
.PHONY: genbin1 genbin23 flashburn reset test readfullflash flashwebfs flash_OTA
|
||||
.NOTPARALLEL: all mp genbin1 genbin23 flashburn reset test readfullflash _endgenbin flashwebfs flash_OTA
|
||||
|
||||
all: $(ELFFILE) $(OTA_IMAGE) $(FLASH_IMAGE) _endgenbin
|
||||
mp: $(ELFFILE) $(OTA_IMAGE) $(FLASH_IMAGE) _endgenbin
|
||||
|
||||
genbin1: $(ELFFILE) $(RAM1P_IMAGE)
|
||||
|
||||
genbin23: $(ELFFILE) $(OTA_IMAGE) $(FLASH_IMAGE) _endgenbin
|
||||
|
||||
|
||||
_endgenbin:
|
||||
@echo "-----------------------------------------------------------"
|
||||
@echo "Image ($(OTA_IMAGE)) size $(shell printf '%d\n' $$(( $$(stat --printf="%s" $(OTA_IMAGE)) )) ) bytes"
|
||||
@echo "Image ($(FLASH_IMAGE)) size $(shell printf '%d\n' $$(( $$(stat --printf="%s" $(FLASH_IMAGE)) )) ) bytes"
|
||||
@echo "==========================================================="
|
||||
|
||||
ifeq ($(FLASHER_TYPE), Jlink)
|
||||
|
||||
reset:
|
||||
@$(JLINK_PATH)$(JLINK_EXE) -Device CORTEX-M3 -If SWD -Speed 1000 $(FLASHER_PATH)RTL_Reset.JLinkScript
|
||||
|
||||
runram:
|
||||
@$(JLINK_PATH)$(JLINK_EXE) -Device CORTEX-M3 -If SWD -Speed 1000 $(FLASHER_PATH)RTL_RunRAM.JLinkScript
|
||||
|
||||
readfullflash:
|
||||
@$(JLINK_PATH)$(JLINK_EXE) -Device CORTEX-M3 -If SWD -Speed 1000 $(FLASHER_PATH)RTL_FFlash.JLinkScript
|
||||
|
||||
|
||||
flashburn:
|
||||
@echo define call1>$(FLASHER_PATH)flash_file.jlink
|
||||
@echo SetFirwareSize build/bin/ram_all.bin>>$(FLASHER_PATH)flash_file.jlink
|
||||
@echo end>>$(FLASHER_PATH)flash_file.jlink
|
||||
@echo define call2>>$(FLASHER_PATH)flash_file.jlink
|
||||
@echo FlasherWrite build/bin/ram_all.bin 0 '$$'Image1Size>>$(FLASHER_PATH)flash_file.jlink
|
||||
@echo end>>$(FLASHER_PATH)flash_file.jlink
|
||||
@echo define call3>>$(FLASHER_PATH)flash_file.jlink
|
||||
@echo FlasherWrite build/bin/ram_all.bin '$$'Image2Addr '$$'Image2Size>>$(FLASHER_PATH)flash_file.jlink
|
||||
@echo end>>$(FLASHER_PATH)flash_file.jlink
|
||||
@cmd /K start $(JLINK_PATH)$(JLINK_GDBSRV) -device Cortex-M3 -if SWD -ir -endian little -speed 1000
|
||||
@$(GDB) -x $(FLASHER_PATH)gdb_wrflash.jlink
|
||||
#@taskkill /F /IM $(JLINK_GDBSRV)
|
||||
|
||||
flashwebfs:
|
||||
@echo define call1>$(FLASHER_PATH)file_info.jlink
|
||||
@echo set '$$'ImageSize = $(shell printf '0x%X\n' $$(stat --printf="%s" $(BIN_DIR)/WEBFiles.bin))>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo set '$$'ImageAddr = 0x0D0000>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo end>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo define call2>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo FlasherWrite $(BIN_DIR)/WEBFiles.bin '$$'ImageAddr '$$'ImageSize>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo end>>$(FLASHER_PATH)file_info.jlink
|
||||
@cmd /K start $(JLINK_PATH)$(JLINK_GDBSRV) -device Cortex-M3 -if SWD -ir -endian little -speed 1000
|
||||
@$(GDB) -x $(FLASHER_PATH)gdb_wrfile.jlink
|
||||
#@taskkill /F /IM $(JLINK_GDBSRV)
|
||||
|
||||
flashespfs:
|
||||
@echo define call1>$(FLASHER_PATH)file_info.jlink
|
||||
@echo set '$$'ImageSize = $(shell printf '0x%X\n' $$(stat --printf="%s" $(BIN_DIR)/webpages.espfs))>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo set '$$'ImageAddr = 0x0D0000>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo end>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo define call2>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo FlasherWrite $(BIN_DIR)/webpages.espfs '$$'ImageAddr '$$'ImageSize>>$(FLASHER_PATH)file_info.jlink
|
||||
@echo end>>$(FLASHER_PATH)file_info.jlink
|
||||
@cmd /K start $(JLINK_PATH)$(JLINK_GDBSRV) -device Cortex-M3 -if SWD -ir -endian little -speed 1000
|
||||
@$(GDB) -x $(FLASHER_PATH)gdb_wrfile.jlink
|
||||
#@taskkill /F /IM $(JLINK_GDBSRV)
|
||||
|
||||
|
||||
flash_OTA:
|
||||
@cmd /K start $(JLINK_PATH)$(JLINK_GDBSRV) -device Cortex-M3 -if SWD -ir -endian little -speed 1000
|
||||
@$(GDB) -x $(FLASHER_PATH)gdb_ota.jlink
|
||||
#@taskkill /F /IM $(JLINK_GDBSRV)
|
||||
|
||||
else
|
||||
|
||||
flashburn:
|
||||
@$(OPENOCD) -f interface/$(FLASHER).cfg -c "transport select swd" -f $(FLASHER_PATH)rtl8710.ocd -c "init" -c "adapter_khz $(FLASHER_SPEED)" -c "reset halt" \
|
||||
-c "rtl8710_flash_auto_erase 1" -c "rtl8710_flash_auto_verify 1" \
|
||||
-c "rtl8710_flash_write $(RAM1P_IMAGE) 0" \
|
||||
-c "rtl8710_flash_write $(RAM2P_IMAGE) 0xb000" \
|
||||
-c "rtl8710_reboot" -c "reset run" -c shutdown
|
||||
|
||||
flashimage2p:
|
||||
@$(OPENOCD) -f interface/$(FLASHER).cfg -c "transport select swd" -f $(FLASHER_PATH)rtl8710.ocd -c "init" -c "adapter_khz $(FLASHER_SPEED)" -c "reset halt" \
|
||||
-c "rtl8710_flash_auto_erase 1" -c "rtl8710_flash_auto_verify 1" \
|
||||
-c "rtl8710_flash_write $(RAM2P_IMAGE) 0xb000" \
|
||||
-c "rtl8710_reboot" -c "reset run" -c shutdown
|
||||
|
||||
flashwebfs:
|
||||
@$(OPENOCD) -f interface/$(FLASHER).cfg -c "transport select swd" -f $(FLASHER_PATH)rtl8710.ocd -c "init" -c "adapter_khz $(FLASHER_SPEED)" -c "reset halt" \
|
||||
-c "rtl8710_flash_auto_erase 1" -c "rtl8710_flash_auto_verify 1" \
|
||||
-c "rtl8710_flash_write $(BIN_DIR)/WEBFiles.bin 0xd0000" \
|
||||
-c "rtl8710_reboot" -c "reset run" -c shutdown
|
||||
|
||||
flashespfs:
|
||||
@$(OPENOCD) -f interface/$(FLASHER).cfg -c "transport select swd" -f $(FLASHER_PATH)rtl8710.ocd -c "init" -c "adapter_khz $(FLASHER_SPEED)" -c "reset halt" \
|
||||
-c "rtl8710_flash_auto_erase 1" -c "rtl8710_flash_auto_verify 1" \
|
||||
-c "rtl8710_flash_write $(BIN_DIR)/webpages.espfs 0xd0000" \
|
||||
-c "rtl8710_reboot" -c "reset run" -c shutdown
|
||||
|
||||
reset:
|
||||
# @$(JLINK_PATH)$(JLINK_EXE) -Device CORTEX-M3 -If SWD -Speed $(FLASHER_SPEED) flasher/RTLreset.JLinkScript
|
||||
@$(OPENOCD) -f interface/$(FLASHER).cfg -c "transport select swd" -f $(FLASHER_PATH)rtl8710.ocd -c "init" -c "adapter_khz $(FLASHER_SPEED)" -c "reset halt" \
|
||||
-c "rtl8710_reboot" -c shutdown
|
||||
|
||||
runram:
|
||||
# @$(JLINK_PATH)$(JLINK_GDB) -device Cortex-M3 -if SWD -ir -endian little -speed $(FLASHER_SPEED)
|
||||
# @$(GDB) -x flasher/gdb_run_ram.jlink
|
||||
# @taskkill.exe -F -IM $(JLINK_GDB)
|
||||
@$(OPENOCD) -f interface/$(FLASHER).cfg -c "transport select swd" -f $(FLASHER_PATH)rtl8710.ocd -c "init" -c "adapter_khz $(FLASHER_SPEED)" -c "reset halt" \
|
||||
-c "load_image $(RAM1R_IMAGE) 0x10000bc8 bin" \
|
||||
-c "load_image $(RAM2_IMAGE) 0x10006000 bin" \
|
||||
-c "mww 0x40000210 0x20200113" \
|
||||
-c "reset run" -c shutdown
|
||||
|
||||
endif
|
||||
|
||||
$(NMAPFILE): $(ELFFILE)
|
||||
@echo "==========================================================="
|
||||
@echo "Build names map file"
|
||||
@echo $@
|
||||
@$(NM) $< | sort > $@
|
||||
# @echo "==========================================================="
|
||||
|
||||
$(FLASH_IMAGE): $(RAM1P_IMAGE) $(RAM2P_IMAGE) $(RAM3P_IMAGE)
|
||||
@echo "==========================================================="
|
||||
@echo "Make Flash image ($(FLASH_IMAGE))"
|
||||
# @echo "==========================================================="
|
||||
@mkdir -p $(BIN_DIR)
|
||||
@rm -f $(FLASH_IMAGE)
|
||||
@cat $(RAM1P_IMAGE) > $(FLASH_IMAGE)
|
||||
# @chmod 777 $(FLASH_IMAGE)
|
||||
ifdef PADDINGSIZE
|
||||
@$(PADDING) $(PADDINGSIZE) 0xFF $(FLASH_IMAGE)
|
||||
endif
|
||||
@cat $(RAM2P_IMAGE) >> $(FLASH_IMAGE)
|
||||
@cat $(RAM3P_IMAGE) >> $(FLASH_IMAGE)
|
||||
# @echo "Image ($(FLASH_IMAGE)) size $(shell printf '%d\n' $$(( $$(stat --printf="%s" $(FLASH_IMAGE)) )) ) bytes"
|
||||
# @echo "==========================================================="
|
||||
# @rm $(BIN_DIR)/ram_*.p.bin
|
||||
|
||||
$(OTA_IMAGE): $(RAM2NS_IMAGE) $(RAM3_IMAGE)
|
||||
@echo "==========================================================="
|
||||
@echo "Make OTA image ($(OTA_IMAGE))"
|
||||
@rm -f $(OTA_IMAGE)
|
||||
@cat $(RAM2NS_IMAGE) > $(OTA_IMAGE)
|
||||
@cat $(RAM3P_IMAGE) >> $(OTA_IMAGE)
|
||||
# @chmod 777 $(OTA_IMAGE)
|
||||
@$(CHCKSUM) $(OTA_IMAGE) || true
|
||||
# @echo "==========================================================="
|
||||
|
||||
$(RAM1P_IMAGE): $(ELFFILE) $(NMAPFILE)
|
||||
@echo "==========================================================="
|
||||
@echo "Create image1r ($(RAM1R_IMAGE))"
|
||||
# @echo "===========================================================" .bootloader
|
||||
ifdef COMPILED_BOOT
|
||||
@mkdir -p $(BIN_DIR)
|
||||
@rm -f $(RAM1_IMAGE) $(RAM1R_IMAGE)
|
||||
ifdef COMPILED_BOOT_BIN
|
||||
@$(eval RAM1_START_ADDR := $(shell grep _binary_build_bin_ram_1_r_bin_start $(NMAPFILE) | awk '{print $$1}'))
|
||||
@$(eval RAM1_END_ADDR := $(shell grep _binary_build_bin_ram_1_r_bin_end $(NMAPFILE) | awk '{print $$1}'))
|
||||
else
|
||||
@$(eval RAM1_START_ADDR := $(shell grep __ram_image1_text_start__ $(NMAPFILE) | awk '{print $$1}'))
|
||||
@$(eval RAM1_END_ADDR := $(shell grep __ram_image1_text_end__ $(NMAPFILE) | awk '{print $$1}'))
|
||||
endif
|
||||
$(if $(RAM1_START_ADDR),,$(error "Not found __ram_image1_text_start__!"))
|
||||
$(if $(RAM1_END_ADDR),,$(error "Not found __ram_image1_text_end__!"))
|
||||
ifeq ($(RAM1_START_ADDR),$(RAM1_END_ADDR))
|
||||
ifdef COMPILED_BOOT_BIN
|
||||
$(OBJCOPY) --change-section-address .boot.head=0x10000ba8 -j .boot.head -j .bootloader -Obinary $(ELFFILE) $(RAM1P_IMAGE)
|
||||
else
|
||||
# $(OBJCOPY) -j .rom_ram -Obinary $(ELFFILE) $(RAM_IMAGE)
|
||||
$(OBJCOPY) -j .ram.start.table -j .ram_image1.text -Obinary $(ELFFILE) $(RAM1R_IMAGE)
|
||||
$(PICK) 0x$(RAM1_START_ADDR) 0x$(RAM1_END_ADDR) $(RAM1R_IMAGE) $(RAM1P_IMAGE) head+reset_offset 0x0B000
|
||||
endif
|
||||
else
|
||||
$(error "BOOT-image size = 0")
|
||||
# $(error Flasher: COMPILE_BOOT = No)
|
||||
endif
|
||||
else
|
||||
@if [ -s $(RAM1R_IMAGE) ]; then echo "Use external $(RAM1R_IMAGE)!"; fi
|
||||
endif
|
||||
|
||||
$(RAM2P_IMAGE): $(ELFFILE) $(NMAPFILE)
|
||||
@echo "==========================================================="
|
||||
@echo "Create image2p ($(RAM2P_IMAGE))"
|
||||
# @echo "==========================================================="
|
||||
@mkdir -p $(BIN_DIR)
|
||||
@rm -f $(RAM2_IMAGE) $(RAM2P_IMAGE)
|
||||
@$(eval RAM2_START_ADDR = $(shell grep __ram_image2_text $(NMAPFILE) | grep _start__ | awk '{print $$1}'))
|
||||
@$(eval RAM2_END_ADDR = $(shell grep __ram_image2_text $(NMAPFILE) | grep _end__ | awk '{print $$1}'))
|
||||
$(if $(RAM2_START_ADDR),,$(error "Not found __ram_image2_text_start__!"))
|
||||
$(if $(RAM2_END_ADDR),,$(error "Not found __ram_image2_text_end__!"))
|
||||
@$(OBJCOPY) -j .image2.start.table -j .ram_image2.text -j .ram_image2.rodata -j .ram.data -Obinary $(ELFFILE) $(RAM2_IMAGE)
|
||||
@$(PICK) 0x$(RAM2_START_ADDR) 0x$(RAM2_END_ADDR) $(RAM2_IMAGE) $(RAM2P_IMAGE) body+reset_offset+sig
|
||||
|
||||
$(RAM2NS_IMAGE):$(ELFFILE) $(NMAPFILE)
|
||||
@echo "==========================================================="
|
||||
@echo "Create image2ns ($(RAM2NS_IMAGE))"
|
||||
# @echo "==========================================================="
|
||||
mkdir -p $(BIN_DIR)
|
||||
rm -f $(RAM2_IMAGE) $(RAM2NS_IMAGE)
|
||||
$(eval RAM2_START_ADDR = $(shell grep __ram_image2_text $(NMAPFILE) | grep _start__ | awk '{print $$1}'))
|
||||
$(eval RAM2_END_ADDR = $(shell grep __ram_image2_text $(NMAPFILE) | grep _end__ | awk '{print $$1}'))
|
||||
$(if $(RAM2_START_ADDR),,$(error "Not found __ram_image2_text_start__!"))
|
||||
$(if $(RAM2_END_ADDR),,$(error "Not found __ram_image2_text_end__!"))
|
||||
$(OBJCOPY) -j .image2.start.table -j .ram_image2.text -j .ram_image2.rodata -j .ram.data -Obinary $(ELFFILE) $(RAM2_IMAGE)
|
||||
$(PICK) 0x$(RAM2_START_ADDR) 0x$(RAM2_END_ADDR) $(RAM2_IMAGE) $(RAM2NS_IMAGE) body+reset_offset
|
||||
|
||||
$(RAM3_IMAGE): $(ELFFILE) $(NMAPFILE)
|
||||
@echo "==========================================================="
|
||||
@echo "Create image3 (SDRAM, $(RAM3P_IMAGE))"
|
||||
# @echo "==========================================================="
|
||||
@mkdir -p $(BIN_DIR)
|
||||
@rm -f $(RAM3_IMAGE) $(RAM3P_IMAGE)
|
||||
@$(eval RAM3_START_ADDR = $(shell grep __sdram_data_ $(NMAPFILE) | grep _start__ | awk '{print $$1}'))
|
||||
@$(eval RAM3_END_ADDR = $(shell grep __sdram_data_ $(NMAPFILE) | grep _end__ | awk '{print $$1}'))
|
||||
$(if $(RAM3_START_ADDR),,$(error "Not found __sdram_data_start__!"))
|
||||
$(if $(RAM3_END_ADDR),,$(error "Not found __sdram_data_end__!"))
|
||||
#ifneq ($(RAM3_START_ADDR),$(RAM3_END_ADDR))
|
||||
@echo $(RAM3_START_ADDR) $(RAM3_END_ADDR)
|
||||
@$(OBJCOPY) -j .image3 -j .sdr_text -j .sdr_rodata -j .sdr_data -Obinary $(ELFFILE) $(RAM3_IMAGE)
|
||||
$(PICK) 0x$(RAM3_START_ADDR) 0x$(RAM3_END_ADDR) $(RAM3_IMAGE) $(RAM3P_IMAGE) body+reset_offset
|
||||
#else
|
||||
# @rm -f $(RAM3_IMAGE) $(RAM3P_IMAGE)
|
||||
# @echo "SDRAM not used (size = 0)"
|
||||
#endif
|
||||
|
||||
$(ELFFILE):
|
||||
$(error Falsher: file $@ not found)
|
||||
|
||||
clean:
|
||||
@rm -f $(BIN_DIR)/*.bin
|
||||
|
||||
6
RTL00_SDKV35a/flasher/RTL00ConsoleROM.JLinkScript
Normal file
6
RTL00_SDKV35a/flasher/RTL00ConsoleROM.JLinkScript
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
h
|
||||
loadbin flasher/RTL00Console_ROM.bin 0x10000ba8
|
||||
r
|
||||
w4 0x40000210,0x4011117
|
||||
g
|
||||
q
|
||||
BIN
RTL00_SDKV35a/flasher/RTL00Console_ROM.bin
Normal file
BIN
RTL00_SDKV35a/flasher/RTL00Console_ROM.bin
Normal file
Binary file not shown.
119
RTL00_SDKV35a/flasher/RTL8710.jflash
Normal file
119
RTL00_SDKV35a/flasher/RTL8710.jflash
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
AppVersion = 47812
|
||||
[GENERAL]
|
||||
ConnectMode = 0
|
||||
CurrentFile = "fullflash.bin"
|
||||
DataFileSAddr = 0x98000000
|
||||
GUIMode = 0
|
||||
HostName = ""
|
||||
TargetIF = 1
|
||||
USBPort = 0
|
||||
USBSerialNo = 0x00000000
|
||||
[JTAG]
|
||||
IRLen = 0
|
||||
MultipleTargets = 0
|
||||
NumDevices = 0
|
||||
Speed0 = 400
|
||||
Speed1 = 12000
|
||||
TAP_Number = 0
|
||||
UseAdaptive0 = 0
|
||||
UseAdaptive1 = 0
|
||||
UseMaxSpeed0 = 0
|
||||
UseMaxSpeed1 = 0
|
||||
[CPU]
|
||||
CheckCoreID = 0
|
||||
ChipName = "RTL8710AF"
|
||||
ClockSpeed = 0x00000000
|
||||
Core = 0x030000FF
|
||||
CoreID = 0x00000000
|
||||
CoreIDMask = 0x0F000FFF
|
||||
DeviceFamily = 0x00000003
|
||||
EndianMode = 0
|
||||
HasInternalFlash = 0
|
||||
InitStep0_Action = "Reset"
|
||||
InitStep0_Comment = "Reset and Halt"
|
||||
InitStep0_Value0 = 0x00000000
|
||||
InitStep0_Value1 = 0x00000005
|
||||
InitStep1_Action = "Go"
|
||||
InitStep1_Comment = ""
|
||||
InitStep1_Value0 = 0x00000000
|
||||
InitStep1_Value1 = 0x00000000
|
||||
InitStep2_Action = "Reset"
|
||||
InitStep2_Comment = "Reset and halt target"
|
||||
InitStep2_Value0 = 0x00000000
|
||||
InitStep2_Value1 = 0x00000005
|
||||
InitStep3_Action = "Write Register"
|
||||
InitStep3_Comment = "Only T=1"
|
||||
InitStep3_Value0 = 0x00000010
|
||||
InitStep3_Value1 = 0x01000000
|
||||
InitStep4_Action = "Write 32bit"
|
||||
InitStep4_Comment = "Setup SystemCoreClock"
|
||||
InitStep4_Value0 = 0x40000014
|
||||
InitStep4_Value1 = 0x00000001
|
||||
InitStep5_Action = "Delay"
|
||||
InitStep5_Comment = ""
|
||||
InitStep5_Value0 = 0x00000000
|
||||
InitStep5_Value1 = 0x00000005
|
||||
InitStep6_Action = "Write 32bit"
|
||||
InitStep6_Comment = "Write Page Size"
|
||||
InitStep6_Value0 = 0x1FFFFFF0
|
||||
InitStep6_Value1 = 0x00000100
|
||||
InitStep7_Action = "Write 32bit"
|
||||
InitStep7_Comment = "Write Sector Size"
|
||||
InitStep7_Value0 = 0x1FFFFFF4
|
||||
InitStep7_Value1 = 0x00001000
|
||||
InitStep8_Action = "Write 32bit"
|
||||
InitStep8_Comment = "Write Block Size"
|
||||
InitStep8_Value0 = 0x1FFFFFF8
|
||||
InitStep8_Value1 = 0x00010000
|
||||
InitStep9_Action = "Write 32bit"
|
||||
InitStep9_Comment = "Write Block Count"
|
||||
InitStep9_Value0 = 0x1FFFFFFC
|
||||
InitStep9_Value1 = 0x00000010
|
||||
NumExitSteps = 0
|
||||
NumInitSteps = 10
|
||||
RAMAddr = 0x10000000
|
||||
RAMSize = 0x00010000
|
||||
ScriptFile = ""
|
||||
UseAutoSpeed = 0x00000001
|
||||
UseRAM = 1
|
||||
UseScriptFile = 0
|
||||
[FLASH]
|
||||
aSectorSel[0] =
|
||||
AutoDetect = 1
|
||||
BankName = ""
|
||||
BankSelMode = 1
|
||||
BaseAddr = 0x98000000
|
||||
CheckId = 3
|
||||
CustomRAMCode = "RTL8710AF.hex"
|
||||
DeviceName = "Auto detected flash memory"
|
||||
EndBank = 8191
|
||||
NumBanks = 1
|
||||
OrgNumBits = 16
|
||||
OrgNumChips = 1
|
||||
StartBank = 0
|
||||
UseCustomRAMCode = 1
|
||||
[PRODUCTION]
|
||||
AutoPerformsErase = 1
|
||||
AutoPerformsHardLock = 0
|
||||
AutoPerformsHardUnlock = 0
|
||||
AutoPerformsProgram = 1
|
||||
AutoPerformsSecure = 0
|
||||
AutoPerformsSoftLock = 0
|
||||
AutoPerformsSoftUnlock = 1
|
||||
AutoPerformsStartApp = 0
|
||||
AutoPerformsUnsecure = 0
|
||||
AutoPerformsVerify = 1
|
||||
EnableProductionMode = 0
|
||||
EnableTargetPower = 0
|
||||
EraseType = 2
|
||||
ProductionDelay = 0x000001F4
|
||||
ProductionThreshold = 0x00000BB8
|
||||
ProgramSN = 0
|
||||
SerialFile = ""
|
||||
SNAddr = 0x00000000
|
||||
SNInc = 0x00000001
|
||||
SNLen = 0x00000004
|
||||
SNListFile = ""
|
||||
SNValue = 0x00000001
|
||||
TargetPowerDelay = 0x00000014
|
||||
VerifyType = 1
|
||||
130
RTL00_SDKV35a/flasher/RTL8710AF.hex
Normal file
130
RTL00_SDKV35a/flasher/RTL8710AF.hex
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
:100000007D0439057F05FF056506D506D706000086
|
||||
:10001000D44908707047D44800680005FBD0D14827
|
||||
:100020000078C0B2704710B5D048006850F44070F6
|
||||
:10003000CE490860CE48006850F01000CC490860F6
|
||||
:10004000CC480468062000F0B7F934F00600C9492E
|
||||
:100050000860C848006850F00100C64908600020E8
|
||||
:10006000C54908600020C54908600120C4490860EE
|
||||
:100070000220C44908600020C34908600020C34929
|
||||
:1000800008600020C249086010BD2DE9F04104005D
|
||||
:100090000D001600B6B2002E01D1002048E0B6B225
|
||||
:1000A000112E01DB102006004FF4407000F084F99F
|
||||
:1000B00080465FF4401000F07FF95FF4403000F0BC
|
||||
:1000C0007BF95FF4402000F077F9032010FA08F084
|
||||
:1000D00010F44070AF490860B6B2AF480660032024
|
||||
:1000E000FFF796FF200CC0B2FFF792FF200AC0B2C4
|
||||
:1000F000FFF78EFF2000C0B2FFF78AFF01209E4964
|
||||
:100100000860002007003800310080B289B28842C0
|
||||
:1001100005D2FFF780FFBFB2E8557F1CF3E79F4889
|
||||
:100120000068C007FBD4002093490860300080B20B
|
||||
:10013000BDE8F08138B54FF4407000F03DF905009E
|
||||
:100140005FF4401000F038F95FF4403000F034F90B
|
||||
:100150005FF4402000F030F90320A84010F4407014
|
||||
:100160008C49086003208C4908600120824908609E
|
||||
:100170009F20FFF74DFFFFF74EFF0400FFF74BFFF7
|
||||
:1001800054EA00200400FFF746FF54EA0040040050
|
||||
:1001900082480068C007FBD400207749086020002F
|
||||
:1001A00032BD38B54FF4407000F006F905005FF439
|
||||
:1001B000401000F001F95FF4403000F0FDF85FF40A
|
||||
:1001C000402000F0F9F80320A84010F44070714975
|
||||
:1001D0000860012070490860012067490860052017
|
||||
:1001E000FFF716FFFFF717FF04006C480068C00711
|
||||
:1001F000FBD40020604908602000C0B232BD38B591
|
||||
:1002000004004FF4407000F0D7F805005FF4401090
|
||||
:1002100000F0D2F85FF4403000F0CEF85FF44020F8
|
||||
:1002200000F0CAF80120A84010F440705949086055
|
||||
:100230000120514908602000C0B2FFF7E9FE57488D
|
||||
:100240000068C007FBD400204B49086031BD38B5B9
|
||||
:1002500004004FF4407000F0AFF805005FF4401068
|
||||
:1002600000F0AAF85FF4403000F0A6F85FF44020F8
|
||||
:1002700000F0A2F80120A84010F440704549086041
|
||||
:1002800001203D4908602020FFF7C2FE200CC0B2CB
|
||||
:10029000FFF7BEFE200AC0B2FFF7BAFE2000C0B2D0
|
||||
:1002A000FFF7B6FE3D480068C007FBD40020324986
|
||||
:1002B000086031BD2DE9F04104000D001600B6B212
|
||||
:1002C000002E01D100204BE0B6B2B6F5807F02DDF2
|
||||
:1002D0004FF4807006004FF4407000F06DF88046D7
|
||||
:1002E0005FF4401000F068F85FF4403000F064F80C
|
||||
:1002F0005FF4402000F060F8012010FA08F010F4DC
|
||||
:1003000040702449086001201B4908600220FFF763
|
||||
:100310007FFE200CC0B2FFF77BFE200AC0B2FFF7C1
|
||||
:1003200077FE2000C0B2FFF773FE00200700380000
|
||||
:10033000310080B289B2884205D2BFB2E85DFFF7D2
|
||||
:1003400067FE7F1CF3E7154800684007FBD513489C
|
||||
:100350000068C007FBD4002007490860300080B265
|
||||
:10036000BDE8F08160600040246000403002004041
|
||||
:1003700010020040C0020040086000402C600040B5
|
||||
:100380001060004014600040186000401C60004095
|
||||
:100390004C60004000600040046000402860004065
|
||||
:1003A00080B5FFF7FEFEC007FBD401BD80B5FFF7A7
|
||||
:1003B000F8FE8007FBD501BD90FAA0F0B0FA80F0FE
|
||||
:1003C00070470000010051EA510151EA910151EAE0
|
||||
:1003D000111151EA112151EA1141064A7A441432AD
|
||||
:1003E000DFF8B03203FB01F3DB0E52F823201000DC
|
||||
:1003F000704700BF80030000DFF89C02006850F0E7
|
||||
:100400004070DFF894120860DFF89002006850F442
|
||||
:100410008070DFF888120860FF20DFF8841208601F
|
||||
:10042000FF20DFF880120860704780B500F054F9B3
|
||||
:1004300001BD0120DFF870120860704780B571B609
|
||||
:1004400072B6FFF7F6FFFFF7D7FFFFF7EEFF01BD2C
|
||||
:1004500080B5FFF7E8FDFFF7A3FFFFF76BFEFFF79F
|
||||
:100460009FFF92480068FFF7ADFF914908609148EF
|
||||
:100470000068FFF7A7FF9049086001BDF8B50400C8
|
||||
:100480000D0016008D4800688D49884204D18D48C2
|
||||
:1004900000688D49884209D08948884908608A489F
|
||||
:1004A00088490860FFF7CAFFFFF7D2FF814800685C
|
||||
:1004B00086490968864A12685143B1FBF0F27368B5
|
||||
:1004C00040271F807A4F3F689F700027DF70012709
|
||||
:1004D0001F7101275F7100279F710127DF710127BD
|
||||
:1004E0001F7200275F7201279F7201271F6100277B
|
||||
:1004F000DFF8DCC1DCF800C067451CD2DFF8CCC1F6
|
||||
:10050000DCF800C00CFB07FC5FF00C0E0EFB07FED6
|
||||
:100510009E44CEF814C05FF00C0C0CFB07FC9C440E
|
||||
:10052000CCF818205FF00C0C0CFB07FC9C44CCF8BA
|
||||
:100530001C007F1CDCE7F1BD2DE9F04704000D0035
|
||||
:1005400016007769D6F81080D6F80490002F14D0E2
|
||||
:10055000200000F0C0F8112F02D35FF0100A00E075
|
||||
:10056000BA46524692B249464046FFF78EFD1AEB14
|
||||
:100570000808D144B7EB0A07E8E7BDE8F0872DE9A2
|
||||
:10058000F84F04000D0016000020286077694848E5
|
||||
:100590000068B84638FA00F8D6F810904448006869
|
||||
:1005A00039FA00F9D6F804A0B8F1000F25D0B7F554
|
||||
:1005B000807F02D94FF4807B00E0BB46FFF7F0FE5E
|
||||
:1005C0000620FFF71CFEFFF7F1FE5A4692B2514695
|
||||
:1005D0003648006800FB09F0FFF76CFEFFF7E0FE0D
|
||||
:1005E0000420FFF70CFEFFF7DBFEDA44B7EB0B0746
|
||||
:1005F000B8F1010819F10109D6E7BDE8F18F2DE93D
|
||||
:10060000F84304000D00160030692B490968C84002
|
||||
:10061000070070698046002028602648006800FBBB
|
||||
:1006200007F08146B8F1000F1AD0200000F053F80F
|
||||
:10063000FFF7B6FE0620FFF7E2FDFFF7B7FE4846DC
|
||||
:10064000FFF705FEFFF7ACFE0420FFF7D8FDFFF72C
|
||||
:10065000A7FE1848006810EB0909B8F10108E1E7A6
|
||||
:10066000BDE8F18310B504001448006814498842BD
|
||||
:1006700004D1144800681449884209D010480F4931
|
||||
:10068000086011480F490860FFF7D8FEFFF7E0FE49
|
||||
:1006900010BD0000DDACC407300200401C02004069
|
||||
:1006A000200300402403004014000040F0FFFF1F1F
|
||||
:1006B000E0FFFF1FF4FFFF1FE4FFFF1FE8FFFF1F26
|
||||
:1006C000AA55AA55ECFFFF1F55AA55AAF8FFFF1F10
|
||||
:1006D000FCFFFF1F7047704710B51E48006850F4BC
|
||||
:1006E00040501C4908601C48006850F480501A496A
|
||||
:1006F00008601A4800684006FBD5194804685FF492
|
||||
:100700004000FFF759FE34F44000154908601448D2
|
||||
:10071000006850F4801012490860002011490860F8
|
||||
:100720001148006850F080000F49086044200F49CC
|
||||
:10073000086000200B49086003240320FFF73CFEFB
|
||||
:1007400014FA00F010F0030007490860002008497F
|
||||
:10075000086010BD3002004010020040143000401C
|
||||
:10076000C0020040043000400C3000400030004027
|
||||
:1007700008300040000000000900000001000000F7
|
||||
:100780000A0000000D00000015000000020000003B
|
||||
:100790001D0000000B0000000E0000001000000013
|
||||
:1007A0001200000016000000190000000300000005
|
||||
:1007B0001E000000080000000C00000014000000F3
|
||||
:1007C0001C0000000F0000001100000018000000D5
|
||||
:1007D00007000000130000001B00000017000000CD
|
||||
:1007E000060000001A0000000500000004000000E0
|
||||
:0407F0001F000000E6
|
||||
:0400000500000000F7
|
||||
:00000001FF
|
||||
17
RTL00_SDKV35a/flasher/RTL_FFlash.JLinkScript
Normal file
17
RTL00_SDKV35a/flasher/RTL_FFlash.JLinkScript
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
h
|
||||
r
|
||||
w4 0x40000230,0x0000D3C4
|
||||
w4 0x40000210,0x00200113
|
||||
w4 0x400002C0,0x00110001
|
||||
w4 0x40006008,0
|
||||
w4 0x4000602C,0
|
||||
w4 0x40006010,1
|
||||
w4 0x40006014,2
|
||||
w4 0x40006018,0
|
||||
w4 0x4000601C,0
|
||||
w4 0x4000604C,0
|
||||
savebin fullflash.bin 0x98000000 0x100000
|
||||
w4 0x40000210,0x211157
|
||||
r
|
||||
g
|
||||
q
|
||||
11
RTL00_SDKV35a/flasher/RTL_RdROM.JLinkScript
Normal file
11
RTL00_SDKV35a/flasher/RTL_RdROM.JLinkScript
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
r0
|
||||
trst0
|
||||
r1
|
||||
trst1
|
||||
h
|
||||
r
|
||||
savebin bios-rom.bin 0x00000000 0x100000
|
||||
w4 0x40000210,0x211157
|
||||
r
|
||||
g
|
||||
q
|
||||
9
RTL00_SDKV35a/flasher/RTL_Reset.JLinkScript
Normal file
9
RTL00_SDKV35a/flasher/RTL_Reset.JLinkScript
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
r0
|
||||
trst0
|
||||
r1
|
||||
trst1
|
||||
h
|
||||
r
|
||||
w4 0x40000210,0x111157
|
||||
g
|
||||
q
|
||||
12
RTL00_SDKV35a/flasher/RTL_RunRAM.JLinkScript
Normal file
12
RTL00_SDKV35a/flasher/RTL_RunRAM.JLinkScript
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
r0
|
||||
trst0
|
||||
r1
|
||||
trst1
|
||||
h
|
||||
r
|
||||
loadbin build/bin/ram_1.r.bin 0x10000bc8
|
||||
loadbin build/bin/ram_2.bin 0x10006000
|
||||
r
|
||||
w4 0x40000210,0x20111157
|
||||
g
|
||||
q
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
cd flasher
|
||||
openocd -f interface/cmsis-dap.cfg -c "adapter_khz 1000" -f rtl8710.ocd -f cortex.ocd -c "init" -c "reset halt" -c "load_ram_binary RTL00Console_ROM.bin 0x10000BA8" -c "exit"
|
||||
rem -c "shutdown"
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
cd flasher
|
||||
openocd -f interface/cmsis-dap.cfg -c "adapter_khz 1000" -f rtl8710.ocd -f cortex.ocd -c "init" -c "reset halt" -c "rtl8710_flash_read_id" -c "adapter_khz 5000" -c "rtl8710_flash_read ../fullflash.bin 0 1048576" -c "shutdown"
|
||||
echo flash read fullflash.bin
|
||||
pause
|
||||
|
||||
6
RTL00_SDKV35a/flasher/add_sample_bat/DAPLink-Reset.bat
Normal file
6
RTL00_SDKV35a/flasher/add_sample_bat/DAPLink-Reset.bat
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
@cd flasher
|
||||
openocd -f interface/cmsis-dap.cfg -c "adapter_khz 1000" -f rtl8710.ocd -f cortex.ocd -c "init" -c "reset halt" -c "restart_from_falsh" -c "shutdown"
|
||||
rem
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
cd flasher
|
||||
openocd -f interface/cmsis-dap.cfg -c "adapter_khz 3500" -f rtl8710.ocd -f cortex.ocd -c "init" -c "reset halt" -c "rtl8710_flash_read_id" -c "rtl8710_flash_auto_erase 1" -c "rtl8710_flash_auto_verify 1" -c "rtl8710_flash_write fullflash.bin 0" -c "shutdown"
|
||||
pause
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
start JLink.exe -Device CORTEX-M3 -If SWD -Speed 4000 flasher\RTL00ConsoleROM.JLinkScript
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
JLink.exe -Device CORTEX-M3 -If SWD -Speed 10000 flasher/RTL_FFlash.JLinkScript
|
||||
3
RTL00_SDKV35a/flasher/add_sample_bat/JLink-Reset.bat
Normal file
3
RTL00_SDKV35a/flasher/add_sample_bat/JLink-Reset.bat
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
JLink.exe -Device CORTEX-M3 -If SWD -Speed 1000 flasher\RTL_Reset.JLinkScript
|
||||
3
RTL00_SDKV35a/flasher/add_sample_bat/JLink-RunRAM.bat
Normal file
3
RTL00_SDKV35a/flasher/add_sample_bat/JLink-RunRAM.bat
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
start JLink.exe -Device CORTEX-M3 -If SWD -Speed 4000 flasher\RTL_RunRAM.JLinkScript
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
start JLinkGDBServer.exe -device Cortex-M3 -if SWD -ir -endian little -speed 1000
|
||||
arm-none-eabi-gdb.exe -x flasher/gdb_rdflash.jlink
|
||||
taskkill /F /IM JLinkGDBServer.exe
|
||||
|
||||
15
RTL00_SDKV35a/flasher/add_sample_bat/JLinkGDB-RunRAM.bat
Normal file
15
RTL00_SDKV35a/flasher/add_sample_bat/JLinkGDB-RunRAM.bat
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
@if exist build\obj\build.axf goto run
|
||||
echo File 'build\obj\build.axf' not found!
|
||||
echo Build project...
|
||||
mingw32-make.exe -f Makefile all
|
||||
@if not exist build\obj\build.axf goto err
|
||||
:run
|
||||
start JLinkGDBServer.exe -device Cortex-M3 -if SWD -ir -endian little -speed 1000
|
||||
arm-none-eabi-gdb.exe -x flasher/gdb_run_ram.jlink
|
||||
taskkill /F /IM JLinkGDBServer.exe
|
||||
goto end
|
||||
:err
|
||||
echo Error!
|
||||
:end
|
||||
21
RTL00_SDKV35a/flasher/add_sample_bat/JLinkGDB-WrFlash.bat
Normal file
21
RTL00_SDKV35a/flasher/add_sample_bat/JLinkGDB-WrFlash.bat
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
@if %1x==x goto xxx
|
||||
set img_file=%1
|
||||
goto run
|
||||
:xxx
|
||||
set img_file=build/bin/ram_all.bin
|
||||
:run
|
||||
echo define call1>flasher/flash_file.jlink
|
||||
echo SetFirwareSize %img_file%>>flasher/flash_file.jlink
|
||||
echo end>>flasher/flash_file.jlink
|
||||
echo define call2>>flasher/flash_file.jlink
|
||||
echo FlasherWrite %img_file% 0 $Image1Size>>flasher/flash_file.jlink
|
||||
echo end>>flasher/flash_file.jlink
|
||||
echo define call3>>flasher/flash_file.jlink
|
||||
echo FlasherWrite %img_file% $Image2Addr $Image2Size>>flasher/flash_file.jlink
|
||||
echo end>>flasher/flash_file.jlink
|
||||
start JLinkGDBServer.exe -device Cortex-M3 -if SWD -ir -endian little -speed 3500
|
||||
arm-none-eabi-gdb.exe -x flasher/gdb_wrflash.jlink
|
||||
taskkill /F /IM JLinkGDBServer.exe
|
||||
|
||||
6
RTL00_SDKV35a/flasher/add_sample_bat/JLinkGDBServer.bat
Normal file
6
RTL00_SDKV35a/flasher/add_sample_bat/JLinkGDBServer.bat
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
start JLinkGDBServer.exe -device Cortex-M3 -if SWD -ir -endian little -speed 1000
|
||||
arm-none-eabi-gdb.exe -x flasher/gdb_init.jlink
|
||||
taskkill /F /IM JLinkGDBServer.exe
|
||||
|
||||
15
RTL00_SDKV35a/flasher/add_sample_bat/JLinkGDB_OTA.bat
Normal file
15
RTL00_SDKV35a/flasher/add_sample_bat/JLinkGDB_OTA.bat
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
@if exist build\bin\ota.bin goto run
|
||||
echo File 'build\obj\ota.bin' not found!
|
||||
echo Build project...
|
||||
mingw32-make.exe -f Makefile all
|
||||
@if not exist build\bin\ota.bin goto err
|
||||
:run
|
||||
start start JLinkGDBServer.exe -device Cortex-M3 -if SWD -ir -endian little -speed 1000
|
||||
arm-none-eabi-gdb.exe -x flasher/gdb_ota.jlink
|
||||
taskkill /F /IM JLinkGDBServer.exe
|
||||
goto end
|
||||
:err
|
||||
echo Error!
|
||||
:end
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
cd flasher
|
||||
openocd -f interface/Jlink.cfg -c "adapter_khz 3500" -f rtl8710.ocd -f cortex.ocd -c "init" -c "reset halt" -c "rtl8710_flash_read_id" -c "adapter_khz 3900" -c "rtl8710_flash_read ../fullflash.bin 0 1048576" -c "shutdown"
|
||||
echo flash read fullflash.bin
|
||||
pause
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
openocd -f interface/Jlink.cfg -c "adapter_khz 1000" -f rtl8710.ocd -f cortex.ocd -c "init" -c "reset halt" -c "adapter_khz 3500" -c "rtl8710_flash_read_id" -c "rtl8710_flash_read ../fullflash.bin 0 1048576" -c "shutdown"
|
||||
echo flash read fullflash.bin
|
||||
pause
|
||||
|
||||
4
RTL00_SDKV35a/flasher/add_sample_bat/JlinkOpenOCD.bat
Normal file
4
RTL00_SDKV35a/flasher/add_sample_bat/JlinkOpenOCD.bat
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
taskkill /F /IM openocd.exe
|
||||
start openocd -f interface\Jlink.cfg -f flasher\ameba1.cfg
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
cd flasher
|
||||
openocd -f interface/stlink-v2.cfg -c "adapter_khz 1000" -f rtl8710.ocd -f cortex.ocd -c "init" -c "reset halt" -c "rtl8710_flash_read_id" -c "adapter_khz 5000" -c "rtl8710_flash_read ../fullflash.bin 0 1048576" -c "shutdown"
|
||||
echo flash read fullflash.bin
|
||||
pause
|
||||
|
||||
6
RTL00_SDKV35a/flasher/add_sample_bat/STLink-Reset.bat
Normal file
6
RTL00_SDKV35a/flasher/add_sample_bat/STLink-Reset.bat
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
@echo off
|
||||
call paths.bat
|
||||
@cd flasher
|
||||
openocd -f interface/stlink-v2.cfg -c "adapter_khz 1000" -f rtl8710.ocd -f cortex.ocd -c "init" -c "reset halt" -c "cortex_reboot" -c "shutdown"
|
||||
rem
|
||||
|
||||
40
RTL00_SDKV35a/flasher/add_sample_bat/ameba_tools.py
Normal file
40
RTL00_SDKV35a/flasher/add_sample_bat/ameba_tools.py
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
import jlinkarm as jl
|
||||
|
||||
def loaddll(dll_path):
|
||||
jl.loadJLinkARMdll(dll_path)
|
||||
jl.open()
|
||||
if jl.is_connected == 0:
|
||||
raise RuntimeError('Jlink not connected')
|
||||
jl.exec_command('device Cortex-M3', 0, 0)
|
||||
jl.exec_command('endian little', 0, 0)
|
||||
jl.tif_select(1)
|
||||
jl.set_speed(1000)
|
||||
jl.clear_RESET()
|
||||
jl.clear_TRST()
|
||||
time.sleep(0.01)
|
||||
jl.set_RESET()
|
||||
jl.set_TRST()
|
||||
jl.reset()
|
||||
jl.halt()
|
||||
jl.set_speed(3500)
|
||||
|
||||
def ram_all(binfile, image1=True, image2=True):
|
||||
bin = None
|
||||
with file(binfile, 'rb') as f:
|
||||
bin = f.read()
|
||||
get_dword = lambda address: struct.unpack('<L', bin[address:address + 4])[0]
|
||||
|
||||
if image1:
|
||||
i1_address = 0x0
|
||||
i1_length = get_dword(0x10)
|
||||
jl.write_mem(0x10000bc8, bin[i1_address + 0x20: i1_address + 0x20 + i1_length])
|
||||
|
||||
if image2:
|
||||
i2_address = (get_dword(0x18) & 0xffff) * 1024
|
||||
i2_length = get_dword(i2_address) + 0x10
|
||||
jl.write_mem(0x10006000, bin[i2_address + 0x10: i2_address + 0x10 + i2_length])
|
||||
|
||||
jl.reset()
|
||||
jl.write_u32(0x40000210, 0x20111113)
|
||||
jl.go()
|
||||
jl.close()
|
||||
113
RTL00_SDKV35a/flasher/add_sample_bat/jlinkarm.py
Normal file
113
RTL00_SDKV35a/flasher/add_sample_bat/jlinkarm.py
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
import ctypes
|
||||
|
||||
_jl = None
|
||||
|
||||
def loadJLinkARMdll(lib_str):
|
||||
global _jl
|
||||
_jl = ctypes.cdll.LoadLibrary(lib_str)
|
||||
if _jl:
|
||||
return _jl
|
||||
else:
|
||||
raise RuntimeError('JLink ARM dynamic library is not loaded')
|
||||
|
||||
def _jlink():
|
||||
if _jl:
|
||||
return _jl
|
||||
else:
|
||||
raise RuntimeError('JLink ARM dynamic library is not loaded')
|
||||
|
||||
def open():
|
||||
r = _jlink().JLINKARM_Open()
|
||||
if r != 0: raise RuntimeError('Adapter is not found')
|
||||
|
||||
def exec_command(cmd, a, b):
|
||||
r = _jlink().JLINKARM_ExecCommand(cmd, a, b)
|
||||
#if r != 0: raise RuntimeError('Unable to execute command')
|
||||
|
||||
def tif_select(n):
|
||||
if not isinstance(n, ctypes.c_ulong):
|
||||
n = ctypes.c_ulong(n)
|
||||
r = _jlink().JLINKARM_TIF_Select(n)
|
||||
if r != 0: raise RuntimeError('Unable to select TIF')
|
||||
|
||||
def set_speed(speed):
|
||||
if not isinstance(speed, ctypes.c_ulong):
|
||||
speed = ctypes.c_ulong(speed)
|
||||
r = _jlink().JLINKARM_SetSpeed(speed)
|
||||
#if r != 0: raise RuntimeError('Unable to set speed')
|
||||
|
||||
def reset():
|
||||
r = _jlink().JLINKARM_Reset()
|
||||
if r != 0: raise RuntimeError('fail')
|
||||
|
||||
def is_connected():
|
||||
if _jlink().JLINKARM_IsConnected() != 0: return True
|
||||
else: return False
|
||||
|
||||
def go():
|
||||
r = _jlink().JLINKARM_Go()
|
||||
#if r != 0: raise RuntimeError('fail')
|
||||
|
||||
def write_u32(r, val):
|
||||
if not isinstance(val, ctypes.c_ulong):
|
||||
val = ctypes.c_ulong(val)
|
||||
r = _jlink().JLINKARM_WriteU32(r, val)
|
||||
if r != 0: raise RuntimeError('fail')
|
||||
|
||||
def read_reg(r):
|
||||
return _jlink().JLINKARM_ReadReg(r)
|
||||
|
||||
def write_reg(r, val):
|
||||
if not isinstance(val, ctypes.c_ulong):
|
||||
val = ctypes.c_ulong(val)
|
||||
ret = _jlink().JLINKARM_WriteReg(r, val)
|
||||
#if ret != 0: raise RuntimeError('fail')
|
||||
|
||||
def get_speed():
|
||||
return _jlink().JLINKARM_GetSpeed()
|
||||
|
||||
def write_mem(startaddress, buf):
|
||||
_jlink().JLINKARM_WriteMem.argtypes = [ctypes.c_int, ctypes.c_int, ctypes.c_char_p]
|
||||
_jlink().JLINKARM_WriteMem.restype = ctypes.c_int
|
||||
print "writemem addr %s size %s" % (hex(startaddress), hex(len(buf)))
|
||||
r = _jlink().JLINKARM_WriteMem(startaddress, len(buf), buf)
|
||||
#if r != 0: raise RuntimeError('fail')
|
||||
|
||||
def read_mem_U32(startaddress, count):
|
||||
buftype=ctypes.c_uint32 * int(count)
|
||||
buf=buftype()
|
||||
r=_jlink().JLINKARM_ReadMemU32(startaddress, count, buf, 0)
|
||||
#if r != 0: raise RuntimeError('fail')
|
||||
return buf
|
||||
|
||||
def close():
|
||||
r = _jlink().JLINKARM_Close()
|
||||
#if r != 0: raise RuntimeError('fail')
|
||||
|
||||
def clear_TCK():
|
||||
r = _jlink().JLINKARM_ClrTCK()
|
||||
def set_TCK():
|
||||
r = _jlink().JLINKARM_SetTCK()
|
||||
|
||||
def clear_TMS():
|
||||
r = _jlink().JLINKARM_ClrTMS()
|
||||
def set_TMS():
|
||||
r = _jlink().JLINKARM_SetTMS()
|
||||
|
||||
def clear_TDI():
|
||||
r = _jlink().JLINKARM_ClrTDI()
|
||||
def set_TDI():
|
||||
r = _jlink().JLINKARM_SetTDI()
|
||||
|
||||
def clear_TRST():
|
||||
r = _jlink().JLINKARM_ClrTRST()
|
||||
def set_TRST():
|
||||
r = _jlink().JLINKARM_SetTRST()
|
||||
|
||||
def clear_RESET():
|
||||
r = _jlink().JLINKARM_ClrRESET()
|
||||
def set_RESET():
|
||||
r = _jlink().JLINKARM_SetRESET()
|
||||
|
||||
def halt():
|
||||
r = _jlink().JLINKARM_Halt()
|
||||
1
RTL00_SDKV35a/flasher/add_sample_bat/paths.bat
Normal file
1
RTL00_SDKV35a/flasher/add_sample_bat/paths.bat
Normal file
|
|
@ -0,0 +1 @@
|
|||
PATH=D:\MCU\GNU_Tools_ARM_Embedded\5.4_2016q2\bin;D:\MCU\SEGGER\JLink_V612i;%PATH%
|
||||
53
RTL00_SDKV35a/flasher/add_sample_bat/runram.py
Normal file
53
RTL00_SDKV35a/flasher/add_sample_bat/runram.py
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: cp1251 -*-
|
||||
import jlinkarm as jl
|
||||
import os, sys, time, struct
|
||||
|
||||
dllfilename = 'D:/MCU/SEGGER/JLink_V612i/JLinkARM.dll'
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) >= 2:
|
||||
if sys.argv[1] == '-h':
|
||||
print 'Usage: ldram.py ram_all.bin'
|
||||
exit(0)
|
||||
imgfilename = 'build/bin/ram_all.bin'
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
if sys.argv[1]:
|
||||
imgfilename = sys.argv[1]
|
||||
try:
|
||||
ff = open(imgfilename, "rb")
|
||||
except:
|
||||
print "Error file open " + imgfilename
|
||||
exit(1)
|
||||
jl.loadJLinkARMdll(dllfilename)
|
||||
jl.open()
|
||||
if jl.is_connected == 0:
|
||||
raise RuntimeError('Jlink not connected')
|
||||
jl.exec_command('device Cortex-M3', 0, 0)
|
||||
jl.exec_command('endian little', 0, 0)
|
||||
jl.tif_select(1)
|
||||
jl.set_speed(1000)
|
||||
jl.clear_RESET()
|
||||
jl.clear_TRST()
|
||||
time.sleep(0.01)
|
||||
jl.set_RESET()
|
||||
jl.set_TRST()
|
||||
jl.reset()
|
||||
jl.halt()
|
||||
jl.set_speed(3500)
|
||||
bin = ff.read()
|
||||
get_dword = lambda address: struct.unpack('<L', bin[address:address + 4])[0]
|
||||
i1_address = 0x0
|
||||
i1_length = get_dword(0x10)
|
||||
jl.write_mem(0x10000bc8, bin[i1_address + 0x20: i1_address + 0x20 + i1_length])
|
||||
i2_address = (get_dword(0x18) & 0xffff) * 1024
|
||||
i2_length = get_dword(i2_address) + 0x10
|
||||
jl.write_mem(0x10006000, bin[i2_address + 0x10: i2_address + 0x10 + i2_length])
|
||||
jl.reset()
|
||||
jl.write_u32(0x40000210, 0x20111113)
|
||||
jl.go()
|
||||
jl.close()
|
||||
|
||||
ff.close()
|
||||
exit(0)
|
||||
124
RTL00_SDKV35a/flasher/ameba1.cfg
Normal file
124
RTL00_SDKV35a/flasher/ameba1.cfg
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
# Main file for Ameba1 series Cortex-M3 parts
|
||||
#
|
||||
# !!!!!!
|
||||
#
|
||||
|
||||
set CHIPNAME rtl8195a
|
||||
set CHIPSERIES ameba1
|
||||
|
||||
# Adapt based on what transport is active.
|
||||
source [find target/swj-dp.tcl]
|
||||
|
||||
if { [info exists CHIPNAME] } {
|
||||
set _CHIPNAME $CHIPNAME
|
||||
} else {
|
||||
error "CHIPNAME not set. Please do not include ameba1.cfg directly."
|
||||
}
|
||||
|
||||
if { [info exists CHIPSERIES] } {
|
||||
# Validate chip series is supported
|
||||
if { $CHIPSERIES != "ameba1" } {
|
||||
error "Unsupported chip series specified."
|
||||
}
|
||||
set _CHIPSERIES $CHIPSERIES
|
||||
} else {
|
||||
error "CHIPSERIES not set. Please do not include ameba1.cfg directly."
|
||||
}
|
||||
|
||||
if { [info exists CPUTAPID] } {
|
||||
# Allow user override
|
||||
set _CPUTAPID $CPUTAPID
|
||||
} else {
|
||||
# Ameba1 use a Cortex M3 core.
|
||||
if { $_CHIPSERIES == "ameba1" } {
|
||||
if { [using_jtag] } {
|
||||
set _CPUTAPID 0x4ba00477
|
||||
} {
|
||||
set _CPUTAPID 0x2ba01477
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME cortex_m -chain-position $_TARGETNAME
|
||||
|
||||
|
||||
# Run with *real slow* clock by default since the
|
||||
# boot rom could have been playing with the PLL, so
|
||||
# we have no idea what clock the target is running at.
|
||||
adapter_khz 1000
|
||||
|
||||
# delays on reset lines
|
||||
adapter_nsrst_delay 200
|
||||
if {[using_jtag]} {
|
||||
jtag_ntrst_delay 200
|
||||
}
|
||||
|
||||
|
||||
# Ameba1 (Cortex M3 core) support SYSRESETREQ
|
||||
if {![using_hla]} {
|
||||
# if srst is not fitted use SYSRESETREQ to
|
||||
# perform a soft reset
|
||||
cortex_m reset_config sysresetreq
|
||||
}
|
||||
|
||||
$_TARGETNAME configure -event reset-init {ameba1_init}
|
||||
|
||||
# Ameba1 SDRAM enable
|
||||
proc ameba1_init { } {
|
||||
# init System
|
||||
mww 0x40000014 0x00000021
|
||||
sleep 10
|
||||
mww 0x40000304 0x1fc00002
|
||||
sleep 10
|
||||
mww 0x40000250 0x00000400
|
||||
sleep 10
|
||||
mww 0x40000340 0x00000000
|
||||
sleep 10
|
||||
mww 0x40000230 0x0000dcc4
|
||||
sleep 10
|
||||
mww 0x40000210 0x00011117
|
||||
sleep 10
|
||||
mww 0x40000210 0x00011157
|
||||
sleep 10
|
||||
mww 0x400002c0 0x00110011
|
||||
sleep 10
|
||||
mww 0x40000320 0xffffffff
|
||||
sleep 10
|
||||
# init SDRAM
|
||||
mww 0x40000040 0x00fcc702
|
||||
sleep 10
|
||||
mdw 0x40000040
|
||||
mww 0x40005224 0x00000001
|
||||
sleep 10
|
||||
mww 0x40005004 0x00000208
|
||||
sleep 10
|
||||
mww 0x40005008 0xffffd000
|
||||
sleep 13
|
||||
mww 0x40005020 0x00000022
|
||||
sleep 13
|
||||
mww 0x40005010 0x09006201
|
||||
sleep 13
|
||||
mww 0x40005014 0x00002611
|
||||
sleep 13
|
||||
mww 0x40005018 0x00068413
|
||||
sleep 13
|
||||
mww 0x4000501c 0x00000042
|
||||
sleep 13
|
||||
mww 0x4000500c 0x700 ;# set Idle
|
||||
sleep 20
|
||||
mww 0x40005000 0x1 ;# start init
|
||||
sleep 100
|
||||
mdw 0x40005000
|
||||
mww 0x4000500c 0x600 ;# enter memory mode
|
||||
sleep 30
|
||||
|
||||
mww 0x40005008 0x00000000 ;# 0xf00
|
||||
;# mww 0x40005008 0x00000f00
|
||||
sleep 3
|
||||
mww 0x40000300 0x0006005e ;# 0x5e
|
||||
;# mww 0x40000300 0x0000005e
|
||||
sleep 3
|
||||
}
|
||||
99
RTL00_SDKV35a/flasher/cortex.ocd
Normal file
99
RTL00_SDKV35a/flasher/cortex.ocd
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
proc cortex_bootstrap {start} {
|
||||
# disable interrupts
|
||||
reg faultmask 0x01
|
||||
set vectors ""
|
||||
mem2array vectors 32 $start 2
|
||||
reg sp $vectors(0)
|
||||
reg pc $vectors(1)
|
||||
resume
|
||||
}
|
||||
|
||||
proc cortex_reboot {} {
|
||||
set ddd [ format "0x%08x" [ rtl8710_flasher_mrw [ expr 0x40000210 ] ] ]
|
||||
# set aaa [ format "0x%08x" [ expr 0x40000210 ] ]
|
||||
echo "CLK_CTRL1 = $ddd"
|
||||
# echo "# Set processor clock to default before system reset"
|
||||
set ddd [ format "0x%08x" [ rtl8710_flasher_mrw [ expr 0x40000014 ] ] ]
|
||||
# set aaa [ format "0x%08x" [ expr 0x40000014 ] ]
|
||||
echo "SOC_FUNC_EN = $ddd"
|
||||
# mww 0x40000014 0x00000021
|
||||
sleep 10
|
||||
echo "# Reboot (system reset)"
|
||||
mww 0xE000ED0C 0x05FA0007
|
||||
}
|
||||
|
||||
proc init_system {} {
|
||||
# Set processor clock to default before system reset
|
||||
# CLK_CTRL1
|
||||
# mww 0x40000014 0x00000011
|
||||
mww 0x40000014 0x00000021
|
||||
sleep 10
|
||||
# PESOC_SOC_CTRL
|
||||
# mww 0x40000304 0x1fc00001
|
||||
mww 0x40000304 0x1fc00002
|
||||
sleep 10
|
||||
# PESOC_CLK_SEL
|
||||
mww 0x40000250 0x00000400
|
||||
sleep 10
|
||||
# GPIO_PULL_CTRL4
|
||||
mww 0x40000340 0x00000000
|
||||
sleep 10
|
||||
# PESOC_CLK_CTRL
|
||||
# mww 0x40000230 0x0000d3c4
|
||||
mww 0x40000230 0x0000dcc4
|
||||
sleep 10
|
||||
# SOC_FUNC_EN: FUN|OCP|LXBUS|FLASH|CPU|LOG_UART|GTIMER|SECURITY_ENGINE
|
||||
# mww 0x40000210 0x00211117
|
||||
mww 0x40000210 0x00011117
|
||||
sleep 10
|
||||
# SOC_FUNC_EN: FUN|OCP|LXBUS|FLASH|CPU|LOG_UART|GTIMER|SECURITY_ENGINE + MEM_CTRL
|
||||
mww 0x40000210 0x00011157
|
||||
sleep 10
|
||||
# CPU_PERIPHERAL_CTRL SPI_FLASH_PIN_EN|SDR_PIN_EN|SWD_PIN_EN|LOG_UART_PIN_EN ?
|
||||
# mww 0x400002c0 0x00110000
|
||||
mww 0x400002c0 0x00110011
|
||||
sleep 10
|
||||
# GPIO_SHTDN_CTRL
|
||||
# mww 0x40000320 0x00000033
|
||||
mww 0x40000320 0xffffffff
|
||||
sleep 10
|
||||
|
||||
mww 0x40005008 0x00000000
|
||||
sleep 10
|
||||
# PESOC_MEM_CTRL
|
||||
mww 0x40000300 0x0006005e
|
||||
sleep 10
|
||||
|
||||
# set baudrate to 38400
|
||||
# mww 0x40003010 0x00000080
|
||||
# mww 0x40003008 0x00000022
|
||||
# mww 0x4000300C 0x00000000
|
||||
# mww 0x40003010 0x00000000
|
||||
}
|
||||
|
||||
proc boot_from_flash {} {
|
||||
echo "# skip sdram init, it has been init in openocd config"
|
||||
mww 0x40000210 0x211157
|
||||
}
|
||||
|
||||
proc boot_from_ram {} {
|
||||
echo "# boot from ram, igonore loading flash"
|
||||
mww 0x40000210 0x8011157
|
||||
}
|
||||
|
||||
proc restart_from_falsh {} {
|
||||
init
|
||||
init_system
|
||||
boot_from_flash
|
||||
cortex_reboot
|
||||
}
|
||||
|
||||
proc load_ram_binary { local_filename address } {
|
||||
# set address 0x10000BC8
|
||||
init
|
||||
reset halt
|
||||
set size [file size $local_filename]
|
||||
load_image $local_filename $address bin $address $size
|
||||
boot_from_ram
|
||||
resume
|
||||
}
|
||||
9
RTL00_SDKV35a/flasher/flash_file.jlink
Normal file
9
RTL00_SDKV35a/flasher/flash_file.jlink
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
define call1
|
||||
SetFirwareSize build/bin/ram_all.bin
|
||||
end
|
||||
define call2
|
||||
FlasherWrite build/bin/ram_all.bin 0 $Image1Size
|
||||
end
|
||||
define call3
|
||||
FlasherWrite build/bin/ram_all.bin $Image2Addr $Image2Size
|
||||
end
|
||||
198
RTL00_SDKV35a/flasher/gdb_flasher.jlink
Normal file
198
RTL00_SDKV35a/flasher/gdb_flasher.jlink
Normal file
|
|
@ -0,0 +1,198 @@
|
|||
####################################
|
||||
# J-LINK GDB SERVER initialization #
|
||||
####################################
|
||||
define InitJlink
|
||||
printf "Jlink Init:\n"
|
||||
set verbose off
|
||||
set complaints 0
|
||||
set confirm off
|
||||
set exec-done-display off
|
||||
show exec-done-display
|
||||
set trace-commands off
|
||||
#set debug aix-thread off
|
||||
#set debug dwarf2-die 0
|
||||
set debug displaced off
|
||||
set debug expression 0
|
||||
set debug frame 0
|
||||
set debug infrun 0
|
||||
set debug observer 0
|
||||
set debug overload 0
|
||||
#set debugvarobj 0
|
||||
set pagination off
|
||||
set print address off
|
||||
set print symbol-filename off
|
||||
set print symbol off
|
||||
set print pretty off
|
||||
set print object off
|
||||
#set debug notification off
|
||||
set debug parser off
|
||||
set debug remote 0
|
||||
target remote localhost:2331
|
||||
set remotetimeout 10000
|
||||
monitor device Cortex-M3
|
||||
monitor endian little
|
||||
monitor reset
|
||||
# Set max speed
|
||||
monitor speed 4000
|
||||
set mem inaccessible-by-default off
|
||||
# Setup GDB FOR FASTER DOWNLOADS
|
||||
set remote memory-write-packet-size 8192
|
||||
set remote memory-write-packet-size fixed
|
||||
end
|
||||
#############
|
||||
# Boot_Flash
|
||||
define SetBootFlash
|
||||
printf "SetBoot = Flash:\n"
|
||||
monitor long 0x40000210 = 0x211157
|
||||
end
|
||||
# Boot RAM start_addr0() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x80000000 )
|
||||
define SetBootCall0
|
||||
printf "SetBoot = Call0:\n"
|
||||
monitor long 0x40000210 = 0x80111157
|
||||
end
|
||||
# Boot RAM start_addr1() Run if ( v40000210 & 0x20000000 )
|
||||
define SetBootCall1
|
||||
printf "SetBoot = Call1:\n"
|
||||
monitor long 0x40000210 = 0x20111157
|
||||
end
|
||||
# Boot RAM start_addr2() Run if ( v40000210 & 0x10000000 )
|
||||
define SetBootCall2
|
||||
printf "SetBoot = Call2:\n"
|
||||
monitor long 0x40000210 = 0x10111157
|
||||
end
|
||||
# Boot RAM start_addr3() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x8000000 )
|
||||
define SetBootCall3
|
||||
printf "SetBoot = Call3:\n"
|
||||
monitor long 0x40000210 = 0x8111157
|
||||
end
|
||||
# Boot RAM start_addr4() Init console, Run if ( v40000210 & 0x4000000 )
|
||||
define SetBootCall4
|
||||
printf "SetBoot = Call4:\n"
|
||||
monitor long 0x40000210 = 0x4111157
|
||||
end
|
||||
# CPU CLK 166 MHz?
|
||||
define SetClk166MHz
|
||||
printf "SetCLK 166.66MHz:\n"
|
||||
monitor long 0x40000014 = 0x00000011
|
||||
end
|
||||
# CPU CLK 83 MHz?
|
||||
define SetClk83MHz
|
||||
printf "SetCLK 83.33MHz:\n"
|
||||
monitor long 0x40000014 = 0x00000021
|
||||
end
|
||||
###############
|
||||
# System Init #
|
||||
###############
|
||||
define SystemInit
|
||||
printf "System Init:\n"
|
||||
monitor long 0x40000304 = 0x1FC00002
|
||||
monitor long 0x40000250 = 0x400
|
||||
monitor long 0x40000340 = 0x0
|
||||
monitor long 0x40000230 = 0xdcc4
|
||||
monitor long 0x40000210 = 0x11117
|
||||
monitor long 0x40000210 = 0x11157
|
||||
monitor long 0x400002c0 = 0x110011
|
||||
monitor long 0x40000320 = 0xffffffff
|
||||
end
|
||||
############
|
||||
# SPI Init #
|
||||
############
|
||||
define SPI_Init
|
||||
printf "Init SPI:\n"
|
||||
#enable spi flash peripheral clock
|
||||
set $Temp = {int}(0x40000230)
|
||||
set $Temp = ($Temp | 0x300)
|
||||
set {int}(0x40000230) = $Temp
|
||||
#enable spi flash peripheral
|
||||
set $Temp = {int}(0x40000210)
|
||||
set $Temp = ($Temp | 0x10)
|
||||
set {int}(0x40000210) = $Temp
|
||||
#select spi flash pinout (0 - internal), enable spi flash pins
|
||||
set $Temp = {int}(0x400002C0)
|
||||
set $Temp = (($Temp & 0xFFFFFFF8) | 1)
|
||||
set {int}(0x400002C0) = $Temp
|
||||
#disable SPI FLASH operation
|
||||
monitor long 0x40006008 = 0
|
||||
#disable all interrupts
|
||||
monitor long 0x4000602C = 0
|
||||
#use first "slave select" pin
|
||||
monitor long 0x40006010 = 1
|
||||
#baud rate, default value
|
||||
monitor long 0x40006014 = 2
|
||||
#tx fifo threshold
|
||||
monitor long 0x40006018 = 0
|
||||
#rx fifo threshold
|
||||
monitor long 0x4000601C = 0
|
||||
#disable DMA
|
||||
monitor long 0x4000604C = 0
|
||||
set $SPI_FLASH_BASE = 0x98000000
|
||||
end
|
||||
###################
|
||||
# SetFirwareSize #
|
||||
###################
|
||||
define SetFirwareSize
|
||||
set $rambuffer = 0x10000300
|
||||
printf "Get ImagesSize:\n"
|
||||
restore $arg0 binary $rambuffer 0 0x20
|
||||
set $Image1Size = {int}($rambuffer+0x10) + 32
|
||||
set $Image1LoadAddr = {int}($rambuffer+0x14)
|
||||
set $Image2Addr = {short}($rambuffer+0x18) * 1024
|
||||
if $Image1Size != 0 && $Image1Size < 0x1000000
|
||||
if $Image2Addr == 0
|
||||
set $Image2Addr = $Image1Size
|
||||
end
|
||||
printf "Image1Size = %d\n", $Image1Size
|
||||
printf "Image1LoadAddr = 0x%08x\n", $Image1LoadAddr
|
||||
printf "Image2FlashAddr = 0x%08x\n", $Image2Addr
|
||||
set $parms1 = $rambuffer - $Image2Addr
|
||||
set $parms3 = $Image2Addr + 0x08
|
||||
restore $arg0 binary $parms1 $Image2Addr $parms3
|
||||
set $Image2Size = {int}($rambuffer)
|
||||
set $Image2LoadAddr = {int}($rambuffer+0x4)
|
||||
if $Image2Size != 0xFFFFFFFF && $Image2Size != 0
|
||||
set $Image2Size = $Image2Size + 16
|
||||
printf "Image2Size = %d\n", $Image2Size
|
||||
printf "Image2LoadAddr = 0x%08x\n", $Image2LoadAddr
|
||||
set $FirmwareSize = $Image2Addr + $Image2Size
|
||||
printf "FirmwareSize = %d\n", $FirmwareSize
|
||||
else
|
||||
set $Image2Size = 0
|
||||
printf "Image2 - None\n"
|
||||
set $FirmwareSize = $Image1Size
|
||||
printf "FirmwareSize = %d\n", $FirmwareSize
|
||||
end
|
||||
else
|
||||
set $Image1Size = 0
|
||||
set $Image2Size = 0
|
||||
set $Image2Addr = 0
|
||||
set $FirmwareSize = 0
|
||||
printf "Image not format Firmware!\n"
|
||||
end
|
||||
end
|
||||
#####################
|
||||
# Flash Images Info #
|
||||
#####################
|
||||
define FlashImagesInfo
|
||||
printf "Flash Info:\n"
|
||||
set $Image1Size = {int}($SPI_FLASH_BASE + 0x10) + 32
|
||||
set $Image1LoadAddr = {int}($SPI_FLASH_BASE + 0x14)
|
||||
if $Image1LoadAddr == 0xFFFFFFFF
|
||||
printf "Image1 - None\n"
|
||||
else
|
||||
set $Image2FlashAddr = {short}($SPI_FLASH_BASE + 0x18) * 1024
|
||||
if $Image2FlashAddr == 0
|
||||
$Image2FlashAddr = $Image1Size
|
||||
end
|
||||
set $Image2Size = {int}($Image2FlashAddr + $SPI_FLASH_BASE)
|
||||
set $Image2LoadAddr = {int}($Image2FlashAddr + $SPI_FLASH_BASE + 0x4)
|
||||
printf "Image1Size = %d\n", $Image1Size
|
||||
printf "Image1LoadAddr = 0x%08x\n", $Image1LoadAddr
|
||||
printf "Image2FlashAddr = 0x%08x\n", $Image2FlashAddr
|
||||
if $Image2Size != 0xFFFFFFFF
|
||||
printf "Image2Size = %d\n", $Image2Size
|
||||
printf "Image2LoadAddr = 0x%08x\n", $Image2LoadAddr
|
||||
else
|
||||
printf "Image2 - None\n"
|
||||
end
|
||||
end
|
||||
end
|
||||
30
RTL00_SDKV35a/flasher/gdb_init.jlink
Normal file
30
RTL00_SDKV35a/flasher/gdb_init.jlink
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
#
|
||||
# J-LINK GDB SERVER initialization
|
||||
#
|
||||
target remote localhost:2331
|
||||
set remotetimeout 10000
|
||||
monitor device Cortex-M3
|
||||
monitor endian little
|
||||
monitor reset
|
||||
# Set max speed
|
||||
monitor speed 4000
|
||||
set mem inaccessible-by-default off
|
||||
# Setup GDB FOR FASTER DOWNLOADS
|
||||
#set remote memory-write-packet-size 4096
|
||||
#set remote memory-write-packet-size fixed
|
||||
# Boot Flash
|
||||
monitor long 0x40000210 = 0x211157
|
||||
# Boot RAM start_addr0() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x80000000 )
|
||||
#monitor long 0x40000210 = 0x80011117
|
||||
# Boot RAM start_addr1() Run if ( v40000210 & 0x20000000 )
|
||||
#monitor long 0x40000210 = 0x20011117
|
||||
# Boot RAM start_addr2() Run if ( v40000210 & 0x10000000 )
|
||||
#monitor long 0x40000210 = 0x10011117
|
||||
# Boot RAM start_addr3() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x8000000 )
|
||||
#monitor long 0x40000210 = 0x8011117
|
||||
# Boot RAM start_addr4() Init console, Run if ( v40000210 & 0x4000000 )
|
||||
monitor long 0x40000210 = 0x4011117
|
||||
# CPU CLK 166 MHz?
|
||||
# monitor long 0x40000014 = 0x00000011
|
||||
# CPU CLK 83 MHz?
|
||||
#monitor long 0x40000014 = 0x00000021
|
||||
374
RTL00_SDKV35a/flasher/gdb_ota.jlink
Normal file
374
RTL00_SDKV35a/flasher/gdb_ota.jlink
Normal file
|
|
@ -0,0 +1,374 @@
|
|||
####################################
|
||||
# J-LINK GDB SERVER initialization #
|
||||
####################################
|
||||
define InitJlink
|
||||
printf "Jlink Init:\n"
|
||||
set verbose off
|
||||
set complaints 0
|
||||
set confirm off
|
||||
set exec-done-display off
|
||||
show exec-done-display
|
||||
set trace-commands off
|
||||
#set debug aix-thread off
|
||||
#set debug dwarf2-die 0
|
||||
set debug displaced off
|
||||
set debug expression 0
|
||||
set debug frame 0
|
||||
set debug infrun 0
|
||||
set debug observer 0
|
||||
set debug overload 0
|
||||
#set debugvarobj 0
|
||||
set pagination off
|
||||
set print address off
|
||||
set print symbol-filename off
|
||||
set print symbol off
|
||||
set print pretty off
|
||||
set print object off
|
||||
#set debug notification off
|
||||
set debug parser off
|
||||
set debug remote 0
|
||||
target remote localhost:2331
|
||||
set remotetimeout 10000
|
||||
monitor device Cortex-M3
|
||||
monitor endian little
|
||||
monitor reset
|
||||
# Set max speed
|
||||
monitor speed 4000
|
||||
set mem inaccessible-by-default off
|
||||
# Setup GDB FOR FASTER DOWNLOADS
|
||||
set remote memory-write-packet-size 8192
|
||||
set remote memory-write-packet-size fixed
|
||||
end
|
||||
#############
|
||||
# Boot_Flash
|
||||
define SetBootFlash
|
||||
printf "SetBoot = Flash:\n"
|
||||
monitor long 0x40000210 = 0x211157
|
||||
end
|
||||
# Boot RAM start_addr0() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x80000000 )
|
||||
define SetBootCall0
|
||||
printf "SetBoot = Call0:\n"
|
||||
monitor long 0x40000210 = 0x80011117
|
||||
end
|
||||
# Boot RAM start_addr1() Run if ( v40000210 & 0x20000000 )
|
||||
define SetBootCall1
|
||||
printf "SetBoot = Call1:\n"
|
||||
monitor long 0x40000210 = 0x20011117
|
||||
end
|
||||
# Boot RAM start_addr2() Run if ( v40000210 & 0x10000000 )
|
||||
define SetBootCall2
|
||||
printf "SetBoot = Call2:\n"
|
||||
monitor long 0x40000210 = 0x10011117
|
||||
end
|
||||
# Boot RAM start_addr3() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x8000000 )
|
||||
define SetBootCall3
|
||||
printf "SetBoot = Call3:\n"
|
||||
monitor long 0x40000210 = 0x8011117
|
||||
end
|
||||
# Boot RAM start_addr4() Init console, Run if ( v40000210 & 0x4000000 )
|
||||
define SetBootCall4
|
||||
printf "SetBoot = Call4:\n"
|
||||
monitor long 0x40000210 = 0x4011117
|
||||
end
|
||||
# CPU CLK 166 MHz?
|
||||
define SetClk166MHz
|
||||
printf "SetCLK 166.66MHz:\n"
|
||||
monitor long 0x40000014 = 0x00000011
|
||||
end
|
||||
# CPU CLK 83 MHz?
|
||||
define SetClk83MHz
|
||||
printf "SetCLK 83.33MHz:\n"
|
||||
monitor long 0x40000014 = 0x00000021
|
||||
end
|
||||
###############
|
||||
# System Init #
|
||||
###############
|
||||
define SystemInit
|
||||
printf "System Init:\n"
|
||||
monitor long 0x40000304 = 0x1FC00002
|
||||
monitor long 0x40000250 = 0x400
|
||||
monitor long 0x40000340 = 0x0
|
||||
monitor long 0x40000230 = 0xdcc4
|
||||
monitor long 0x40000210 = 0x11117
|
||||
monitor long 0x40000210 = 0x11157
|
||||
monitor long 0x400002c0 = 0x110011
|
||||
monitor long 0x40000320 = 0xffffffff
|
||||
end
|
||||
############
|
||||
# SPI Init #
|
||||
############
|
||||
define SPI_Init
|
||||
printf "Init SPI:\n"
|
||||
#enable spi flash peripheral clock
|
||||
set $Temp = {int}(0x40000230)
|
||||
set $Temp = ($Temp | 0x300)
|
||||
set {int}(0x40000230) = $Temp
|
||||
#enable spi flash peripheral
|
||||
set $Temp = {int}(0x40000210)
|
||||
set $Temp = ($Temp | 0x10)
|
||||
set {int}(0x40000210) = $Temp
|
||||
#select spi flash pinout (0 - internal), enable spi flash pins
|
||||
set $Temp = {int}(0x400002C0)
|
||||
set $Temp = (($Temp & 0xFFFFFFF8) | 1)
|
||||
set {int}(0x400002C0) = $Temp
|
||||
#disable SPI FLASH operation
|
||||
monitor long 0x40006008 = 0
|
||||
#disable all interrupts
|
||||
monitor long 0x4000602C = 0
|
||||
#use first "slave select" pin
|
||||
monitor long 0x40006010 = 1
|
||||
#baud rate, default value
|
||||
monitor long 0x40006014 = 2
|
||||
#tx fifo threshold
|
||||
monitor long 0x40006018 = 0
|
||||
#rx fifo threshold
|
||||
monitor long 0x4000601C = 0
|
||||
#disable DMA
|
||||
monitor long 0x4000604C = 0
|
||||
set $SPI_FLASH_BASE = 0x98000000
|
||||
end
|
||||
###################
|
||||
# GetOtaSize #
|
||||
###################
|
||||
define GetOtaSize
|
||||
set $rambuffer = 0x10000300
|
||||
printf "Get ImagesSize:\n"
|
||||
set $ImageOtaSize = 0
|
||||
restore $arg0 binary $rambuffer 0 4
|
||||
set $ImageAddSize = {int}($rambuffer+0)
|
||||
if $ImageAddSize != 0
|
||||
printf "Image2Size = %d\n", $ImageAddSize
|
||||
set $ImageOtaSize = $ImageOtaSize + $ImageAddSize + 16
|
||||
set $parms1 = $rambuffer - $ImageOtaSize
|
||||
set $parms3 = $ImageOtaSize + 4
|
||||
restore $arg0 binary $parms1 $ImageOtaSize $parms3
|
||||
set $ImageAddSize = {int}($rambuffer+0)
|
||||
if $ImageAddSize < 0x200000
|
||||
printf "ImageSdramSize = %d\n", $ImageAddSize
|
||||
set $ImageOtaSize = $ImageOtaSize + $ImageAddSize + 20
|
||||
end
|
||||
else
|
||||
printf "Image2Size = %d !\n", $ImageOtaSize
|
||||
end
|
||||
end
|
||||
#####################
|
||||
# Flash Images Info #
|
||||
#####################
|
||||
define FlashImagesInfo
|
||||
printf "Flash Info:\n"
|
||||
set $Image1Size = {int}($SPI_FLASH_BASE + 0x10) + 32
|
||||
set $Image1LoadAddr = {int}($SPI_FLASH_BASE + 0x14)
|
||||
if $Image1LoadAddr == 0xFFFFFFFF
|
||||
printf "Image1 - None\n"
|
||||
else
|
||||
set $Image2FlashAddr = {short}($SPI_FLASH_BASE + 0x18) * 1024
|
||||
if $Image2FlashAddr == 0
|
||||
$Image2FlashAddr = $Image1Size
|
||||
end
|
||||
set $Image2Size = {int}($Image2FlashAddr + $SPI_FLASH_BASE)
|
||||
set $Image2LoadAddr = {int}($Image2FlashAddr + $SPI_FLASH_BASE + 0x4)
|
||||
printf "Image1Size = %d\n", $Image1Size
|
||||
printf "Image1LoadAddr = 0x%08x\n", $Image1LoadAddr
|
||||
printf "Image2FlashAddr = 0x%08x\n", $Image2FlashAddr
|
||||
if $Image2Size != 0xFFFFFFFF
|
||||
printf "Image2Size = %d\n", $Image2Size
|
||||
printf "Image2LoadAddr = 0x%08x\n", $Image2LoadAddr
|
||||
else
|
||||
printf "Image2 - None\n"
|
||||
end
|
||||
end
|
||||
set $ImageOtaAddr = {int}($SPI_FLASH_BASE + 0x9000)
|
||||
if $ImageOtaAddr != 0x80000
|
||||
printf "ImageOtaAddr = 0x%08x - Invalid!\n", $ImageOtaAddr
|
||||
else
|
||||
printf "ImageOtaAddr = 0x%08x\n", $ImageOtaAddr
|
||||
end
|
||||
end
|
||||
###############
|
||||
# FlasherInit #
|
||||
###############
|
||||
define FlasherInit
|
||||
set $rtl8710_flasher_capacity = 0
|
||||
set $rtl8710_flasher_auto_erase = 1
|
||||
set $rtl8710_flasher_auto_verify = 1
|
||||
set $rtl8710_flasher_firmware_ptr = 0x10001000
|
||||
set $rtl8710_flasher_buffer = 0x10008000
|
||||
set $rtl8710_flasher_buffer_size = 421888
|
||||
set $rtl8710_flasher_sector_size = 4096
|
||||
set $rtl8710_flasher_auto_erase_sector = 0xFFFFFFFF
|
||||
end
|
||||
###############
|
||||
# FlasherWait #
|
||||
###############
|
||||
define FlasherWait
|
||||
set $fresult = {int}($rtl8710_flasher_buffer)
|
||||
while ($fresult != 0)
|
||||
set $fresult = {int}($rtl8710_flasher_buffer)
|
||||
end
|
||||
end
|
||||
###############
|
||||
# FlasherLoad #
|
||||
###############
|
||||
define FlasherLoad
|
||||
if $rtl8710_flasher_capacity == 0
|
||||
printf "initializing RTL8710 flasher\n"
|
||||
restore $arg0 binary $rtl8710_flasher_firmware_ptr 0 968
|
||||
monitor reset
|
||||
set $pc = $rtl8710_flasher_firmware_ptr
|
||||
set $sp = 0x1ffffffc
|
||||
set {int}($rtl8710_flasher_buffer + 0x08) = 0
|
||||
set {int}($rtl8710_flasher_buffer + 0x00) = 1
|
||||
#continue
|
||||
monitor go
|
||||
FlasherWait
|
||||
set $id = {int}($rtl8710_flasher_buffer + 0x0C)
|
||||
set $rtl8710_flasher_capacity = 1 << (($id >> 16) & 0x0ff)
|
||||
if ($id == 0x1420c2)
|
||||
printf "Flash ID = 0x%08x : MX25L8006E (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10
|
||||
else
|
||||
printf "Flash ID = 0x%08x : (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10
|
||||
end
|
||||
printf "RTL8710 flasher initialized\n"
|
||||
else
|
||||
printf "reinitializing RTL8710 flasher\n"
|
||||
end
|
||||
end
|
||||
##################
|
||||
# FlasherRdBlock #
|
||||
##################
|
||||
define FlasherRdBlock
|
||||
#printf "FlashRdBlock 0x%08x, 0x%08x\n", $arg0, $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x04) = 3
|
||||
set {int}($rtl8710_flasher_buffer + 0x08) = 0
|
||||
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
|
||||
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x00) = 1
|
||||
FlasherWait
|
||||
set $status = {int}($rtl8710_flasher_buffer + 0x08)
|
||||
if $status > 0
|
||||
error "read error, offset 0x%08x", $arg0
|
||||
end
|
||||
end
|
||||
##################
|
||||
# FlasherWrBlock #
|
||||
##################
|
||||
define FlasherWrBlock
|
||||
#printf "FlashWrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x04) = 4
|
||||
set {int}($rtl8710_flasher_buffer + 0x08) = 0
|
||||
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
|
||||
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x00) = 1
|
||||
FlasherWait
|
||||
set $status = {int}($rtl8710_flasher_buffer + 0x08)
|
||||
if $status > 0
|
||||
error "write error, offset 0x%08x", $arg0
|
||||
end
|
||||
end
|
||||
##################
|
||||
# FlasherVrBlock #
|
||||
##################
|
||||
define FlasherVrBlock
|
||||
#printf "FlashVrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x04) = 5
|
||||
set {int}($rtl8710_flasher_buffer + 0x08) = 0
|
||||
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
|
||||
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x00) = 1
|
||||
FlasherWait
|
||||
set $status = {int}($rtl8710_flasher_buffer + 0x08)
|
||||
if $status > 0
|
||||
set $status = {int}($rtl8710_flasher_buffer + 0x0C)
|
||||
set $status = {int}($status + $arg0)
|
||||
error "verify error, offset 0x%08x", $status
|
||||
end
|
||||
end
|
||||
#################
|
||||
# FlashSecErase #
|
||||
#################
|
||||
define FlashSecErase
|
||||
#printf "FlashSecErase 0x%08x, 0x%08x\n", $rtl8710_flasher_buffer, $arg0
|
||||
set {int}($rtl8710_flasher_buffer + 0x04) = 2
|
||||
set {int}($rtl8710_flasher_buffer + 0x08) = 0
|
||||
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
|
||||
set {int}($rtl8710_flasher_buffer + 0x00) = 1
|
||||
FlasherWait
|
||||
end
|
||||
################
|
||||
# FlasherWrite #
|
||||
################
|
||||
define FlasherWrite
|
||||
set $sector = 0
|
||||
set $offset = 0
|
||||
set $size = $arg2
|
||||
while $offset < $size
|
||||
set $len = $size - $offset
|
||||
if $len > $rtl8710_flasher_buffer_size
|
||||
set $len = $rtl8710_flasher_buffer_size
|
||||
end
|
||||
set $flash_offset = $arg1 + $offset
|
||||
printf "write offset 0x%08x\n", $flash_offset
|
||||
set $parms1 = $rtl8710_flasher_buffer + 0x20 - $offset
|
||||
set $parms2 = $offset
|
||||
set $parms3 = $offset + $len
|
||||
restore $arg0 binary $parms1 $parms2 $parms3
|
||||
if $rtl8710_flasher_auto_erase != 0
|
||||
set $count_i = $flash_offset
|
||||
while $count_i < ($flash_offset + $len)
|
||||
set $sector = $count_i/$rtl8710_flasher_sector_size
|
||||
if $rtl8710_flasher_auto_erase_sector != $sector
|
||||
set $parms1 = $sector * $rtl8710_flasher_sector_size
|
||||
printf "erase sector %d at 0x%08x\n", $sector, $parms1
|
||||
FlashSecErase $parms1
|
||||
set $rtl8710_flasher_auto_erase_sector = $sector
|
||||
end
|
||||
set $count_i = $count_i + 1
|
||||
end
|
||||
end
|
||||
FlasherWrBlock $flash_offset $len
|
||||
printf "write %d bytes at 0x%08x\n", $len, $flash_offset
|
||||
if $rtl8710_flasher_auto_verify != 0
|
||||
printf "verify offset 0x%08x len %d\n", $flash_offset, $len
|
||||
FlasherVrBlock $flash_offset $len
|
||||
end
|
||||
set $offset = $offset + $rtl8710_flasher_buffer_size
|
||||
end
|
||||
end
|
||||
#########################################
|
||||
InitJlink
|
||||
SystemInit
|
||||
SetClk166MHz
|
||||
SPI_Init
|
||||
GetOtaSize build/bin/ota.bin
|
||||
if $ImageOtaSize != 0
|
||||
FlasherInit
|
||||
FlasherLoad flasher/rtl8710_flasher.bin
|
||||
set $FixOtaAddr = 0x80000
|
||||
set $pbuffer = $rtl8710_flasher_buffer + 0x20
|
||||
FlasherRdBlock 0x9000 0x1000
|
||||
set $ImageOtaAddr = {int}($pbuffer)
|
||||
if $ImageOtaAddr != $FixOtaAddr
|
||||
printf "ImageOtaAddr = 0x%08x - Invalid!\n", $ImageOtaAddr
|
||||
set {int}($pbuffer) = $FixOtaAddr
|
||||
set $Temp = $ImageOtaAddr & $FixOtaAddr
|
||||
if $Temp != $FixOtaAddr
|
||||
printf "FlashSecErase at 0x9000\n"
|
||||
FlashSecErase 0x9000
|
||||
printf "Write offset 0x9000 4096 bytes\n"
|
||||
FlasherWrBlock 0x9000 0x1000
|
||||
else
|
||||
printf "Write offset 0x9000 4 bytes\n"
|
||||
FlasherWrBlock 0x9000 0x0004
|
||||
end
|
||||
end
|
||||
FlasherWrite build/bin/ota.bin $FixOtaAddr $ImageOtaSize
|
||||
restore build/bin/ota.bin binary $pbuffer 0 0x1000
|
||||
set {int}($pbuffer + 0x08) = 0x35393138
|
||||
set {int}($pbuffer + 0x0C) = 0x31313738
|
||||
FlasherWrBlock $FixOtaAddr 0x10
|
||||
FlashImagesInfo
|
||||
end
|
||||
monitor reset
|
||||
SetBootFlash
|
||||
monitor go
|
||||
quit
|
||||
17
RTL00_SDKV35a/flasher/gdb_rdflash.jlink
Normal file
17
RTL00_SDKV35a/flasher/gdb_rdflash.jlink
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# GDB Jlink read fullflash
|
||||
# Init
|
||||
source -v flasher/gdb_flasher.jlink
|
||||
InitJlink
|
||||
SystemInit
|
||||
SPI_Init
|
||||
monitor speed 12000
|
||||
#FlashInfo
|
||||
# Read FullFlash
|
||||
printf "Read FullFlash:\n"
|
||||
set $dumpstartaddr = $SPI_FLASH_BASE
|
||||
set $dumpendaddr = $SPI_FLASH_BASE + 0x100000
|
||||
printf "Start addr of dumping = 0x%08x\n", $dumpstartaddr
|
||||
printf "End addr of dumping = 0x%08x\n", $dumpendaddr
|
||||
dump binary memory ../fullflash.bin $dumpstartaddr $dumpendaddr
|
||||
printf "FullFlash saved in ./build/bin/fullflash.bin - OK.\n"
|
||||
quit
|
||||
11
RTL00_SDKV35a/flasher/gdb_run_ram.jlink
Normal file
11
RTL00_SDKV35a/flasher/gdb_run_ram.jlink
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
# J-LINK GDB SERVER initialization
|
||||
#
|
||||
source -v flasher/gdb_flasher.jlink
|
||||
InitJlink
|
||||
load build/obj/build.axf
|
||||
SetBootCall4
|
||||
monitor reset
|
||||
monitor go
|
||||
quit
|
||||
|
||||
166
RTL00_SDKV35a/flasher/gdb_wrflash.jlink
Normal file
166
RTL00_SDKV35a/flasher/gdb_wrflash.jlink
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
###############
|
||||
# FlasherInit #
|
||||
###############
|
||||
define FlasherInit
|
||||
set $rtl8710_flasher_capacity = 0
|
||||
set $rtl8710_flasher_auto_erase = 1
|
||||
set $rtl8710_flasher_auto_verify = 1
|
||||
set $rtl8710_flasher_firmware_ptr = 0x10001000
|
||||
set $rtl8710_flasher_buffer = 0x10008000
|
||||
#262144
|
||||
set $rtl8710_flasher_buffer_size = 421888
|
||||
set $rtl8710_flasher_sector_size = 4096
|
||||
set $rtl8710_flasher_auto_erase_sector = 0xFFFFFFFF
|
||||
end
|
||||
###############
|
||||
# FlasherWait #
|
||||
###############
|
||||
define FlasherWait
|
||||
set $fresult = {int}($rtl8710_flasher_buffer)
|
||||
while ($fresult != 0)
|
||||
set $fresult = {int}($rtl8710_flasher_buffer)
|
||||
end
|
||||
end
|
||||
###############
|
||||
# FlasherLoad #
|
||||
###############
|
||||
define FlasherLoad
|
||||
if $rtl8710_flasher_capacity == 0
|
||||
printf "initializing RTL8710 flasher\n"
|
||||
restore $arg0 binary $rtl8710_flasher_firmware_ptr 0 968
|
||||
monitor reset
|
||||
set $pc = $rtl8710_flasher_firmware_ptr
|
||||
set $sp = 0x1ffffffc
|
||||
set {int}($rtl8710_flasher_buffer + 0x08) = 0
|
||||
set {int}($rtl8710_flasher_buffer + 0x00) = 1
|
||||
#continue
|
||||
monitor go
|
||||
FlasherWait
|
||||
set $id = {int}($rtl8710_flasher_buffer + 0x0C)
|
||||
if ($id == 0x1420c2)
|
||||
set $rtl8710_flasher_capacity = 1 << (($id >> 16) & 0x0ff)
|
||||
printf "Flash ID = 0x%08x : MX25L8006E (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10
|
||||
else
|
||||
set $rtl8710_flasher_capacity = 1024*1024)
|
||||
error "Flash ID = 0x%08x : ?\n", $id
|
||||
end
|
||||
printf "RTL8710 flasher initialized\n"
|
||||
else
|
||||
printf "reinitializing RTL8710 flasher\n"
|
||||
end
|
||||
end
|
||||
##################
|
||||
# FlasherWrBlock #
|
||||
##################
|
||||
define FlasherWrBlock
|
||||
#printf "FlashWrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x04) = 4
|
||||
set {int}($rtl8710_flasher_buffer + 0x08) = 0
|
||||
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
|
||||
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x00) = 1
|
||||
FlasherWait
|
||||
set $status = {int}($rtl8710_flasher_buffer + 0x08)
|
||||
if $status > 0
|
||||
error "write error, offset 0x%08x", $arg0
|
||||
end
|
||||
end
|
||||
##################
|
||||
# FlasherVrBlock #
|
||||
##################
|
||||
define FlasherVrBlock
|
||||
#printf "FlashVrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x04) = 5
|
||||
set {int}($rtl8710_flasher_buffer + 0x08) = 0
|
||||
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
|
||||
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
|
||||
set {int}($rtl8710_flasher_buffer + 0x00) = 1
|
||||
FlasherWait
|
||||
set $status = {int}($rtl8710_flasher_buffer + 0x08)
|
||||
if $status > 0
|
||||
set $status = {int}($rtl8710_flasher_buffer + 0x0C)
|
||||
set $status = {int}($status + $arg0)
|
||||
error "verify error, offset 0x%08x", $status
|
||||
end
|
||||
end
|
||||
#################
|
||||
# FlashSecErase #
|
||||
#################
|
||||
define FlashSecErase
|
||||
#printf "FlashSecErase 0x%08x, 0x%08x\n", $rtl8710_flasher_buffer, $arg0
|
||||
set {int}($rtl8710_flasher_buffer + 0x04) = 2
|
||||
set {int}($rtl8710_flasher_buffer + 0x08) = 0
|
||||
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
|
||||
set {int}($rtl8710_flasher_buffer + 0x00) = 1
|
||||
FlasherWait
|
||||
end
|
||||
################
|
||||
# FlasherWrite #
|
||||
################
|
||||
define FlasherWrite
|
||||
set $sector = 0
|
||||
set $offset = 0
|
||||
set $size = $arg2
|
||||
while $offset < $size
|
||||
set $len = $size - $offset
|
||||
if $len > $rtl8710_flasher_buffer_size
|
||||
set $len = $rtl8710_flasher_buffer_size
|
||||
end
|
||||
set $flash_offset = $arg1 + $offset
|
||||
printf "write offset 0x%08x\n", $flash_offset
|
||||
set $parms1 = $rtl8710_flasher_buffer + 0x20 - $offset - $arg1
|
||||
set $parms2 = $offset + $arg1
|
||||
set $parms3 = $offset + $len + $arg1
|
||||
restore $arg0 binary $parms1 $parms2 $parms3
|
||||
if $rtl8710_flasher_auto_erase != 0
|
||||
set $count_i = $flash_offset
|
||||
while $count_i < ($flash_offset + $len)
|
||||
set $sector = $count_i/$rtl8710_flasher_sector_size
|
||||
if $rtl8710_flasher_auto_erase_sector != $sector
|
||||
set $parms1 = $sector * $rtl8710_flasher_sector_size
|
||||
printf "erase sector %d at 0x%08x\n", $sector, $parms1
|
||||
FlashSecErase $parms1
|
||||
set $rtl8710_flasher_auto_erase_sector = $sector
|
||||
end
|
||||
set $count_i = $count_i + 1
|
||||
end
|
||||
end
|
||||
FlasherWrBlock $flash_offset $len
|
||||
printf "wrote %d bytes at 0x%08x\n", $len, $flash_offset
|
||||
if $rtl8710_flasher_auto_verify != 0
|
||||
printf "verify offset 0x%08x len %d\n", $flash_offset, $len
|
||||
FlasherVrBlock $flash_offset $len
|
||||
end
|
||||
set $offset = $offset + $rtl8710_flasher_buffer_size
|
||||
end
|
||||
end
|
||||
#########################################
|
||||
source -v flasher/gdb_flasher.jlink
|
||||
source -v flasher/flash_file.jlink
|
||||
InitJlink
|
||||
SystemInit
|
||||
SetClk166MHz
|
||||
SPI_Init
|
||||
FlashImagesInfo
|
||||
#SetFirwareSize $wr_flile
|
||||
call1
|
||||
if $FirmwareSize == 0
|
||||
error "FirmwareSize = 0!"
|
||||
end
|
||||
FlasherInit
|
||||
FlasherLoad flasher/rtl8710_flasher.bin
|
||||
if $Image1Size != 0
|
||||
printf "Write Image1 size %d to Flash addr 0x00000000:\n", $Image1Size
|
||||
#FlasherWrite $wr_flile 0 $Image1Size
|
||||
call2
|
||||
if $Image2Size != 0 && $Image2Addr >= $Image1Size
|
||||
printf "Write Image2 size %d to Flash addr 0x%08x:\n", $Image2Size, $Image2Addr
|
||||
#FlasherWrite $wr_flile $Image2Addr $Image2Size
|
||||
call3
|
||||
end
|
||||
end
|
||||
FlashImagesInfo
|
||||
monitor reset
|
||||
SetBootFlash
|
||||
monitor go
|
||||
quit
|
||||
340
RTL00_SDKV35a/flasher/rtl8710.ocd
Normal file
340
RTL00_SDKV35a/flasher/rtl8710.ocd
Normal file
|
|
@ -0,0 +1,340 @@
|
|||
#
|
||||
# OpenOCD script for RTL8710
|
||||
# Copyright (C) 2016 Rebane, rebane@alkohol.ee
|
||||
#
|
||||
set CHIPNAME rtl8195a
|
||||
set CHIPSERIES ameba1
|
||||
|
||||
# Adapt based on what transport is active.
|
||||
|
||||
source [find target/swj-dp.tcl]
|
||||
|
||||
if { [info exists CHIPNAME] } {
|
||||
set _CHIPNAME $CHIPNAME
|
||||
} else {
|
||||
set _CHIPNAME rtl8710
|
||||
}
|
||||
|
||||
if { [info exists ENDIAN] } {
|
||||
set _ENDIAN $ENDIAN
|
||||
} else {
|
||||
set _ENDIAN little
|
||||
}
|
||||
|
||||
if { [info exists WORKAREASIZE] } {
|
||||
set _WORKAREASIZE $WORKAREASIZE
|
||||
} else {
|
||||
set _WORKAREASIZE 0x800
|
||||
}
|
||||
|
||||
if { [info exists CPUTAPID] } {
|
||||
set _CPUTAPID $CPUTAPID
|
||||
} else {
|
||||
set _CPUTAPID 0x2ba01477
|
||||
}
|
||||
|
||||
swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME cortex_m -endian $_ENDIAN -chain-position $_TARGETNAME
|
||||
|
||||
$_TARGETNAME configure -work-area-phys 0x10001000 -work-area-size $_WORKAREASIZE -work-area-backup 0
|
||||
|
||||
# adapter_khz 500
|
||||
adapter_nsrst_delay 100
|
||||
|
||||
if {![using_hla]} {
|
||||
cortex_m reset_config sysresetreq vectreset
|
||||
}
|
||||
|
||||
set rtl8710_flasher_firmware_ptr 0x10001000
|
||||
set rtl8710_flasher_buffer 0x10008000
|
||||
set rtl8710_flasher_buffer_size 262144
|
||||
set rtl8710_flasher_sector_size 4096
|
||||
|
||||
array set rtl8710_flasher_code {
|
||||
0 0xB671B57F 1 0x25FF4B58 2 0x6B196B1A 3 0x7040F042 4 0x69D96318 5 0xF4414E55
|
||||
6 0x69D97480 7 0xF8D361DC 8 0xF8C32120 9 0xF8D35120 10 0xF8C31124 11 0x47B05124
|
||||
12 0x47B04E4F 13 0x47984B4F 14 0x60104A4F 15 0x484F47B0 16 0x60012100 17 0x2C006804
|
||||
18 0x4D4DD0FC 19 0xB93E682E 20 0x60264C49 21 0x47B04E46 22 0x47984B46 23 0xE7ED6020
|
||||
24 0x2B01682B 25 0x4E42D109 26 0x4C4647B0 27 0x47A02006 28 0x47904A45 29 0x47A020C7
|
||||
30 0x682AE00D 31 0xD10E2A02 32 0x47B04E3B 33 0x20064C3F 34 0x483F47A0 35 0x493F4780
|
||||
36 0x68084D3F 37 0x47B047A8 38 0x47A02004 39 0x6828E7CE 40 0xD1132803 41 0x47A04C32
|
||||
42 0x24004838 43 0x4E396805 44 0x68311960 45 0xD206428C 46 0x4B384A37 47 0x221018A1
|
||||
48 0x34104798 49 0x4D2AE7F3 50 0xE7B847A8 51 0x29046829 52 0x2400D11B 53 0x6806482F
|
||||
54 0xD2B042B4 55 0x47A84D24 56 0x20064E28 57 0x4B2847B0 58 0x49284798 59 0x680A4B2A
|
||||
60 0x18A018E1 61 0xF44F4B2A 62 0x47987280 63 0x200447A8 64 0xF50447B0 65 0x47A87480
|
||||
66 0x682CE7E4 67 0xD1232C05 68 0x47984B17 69 0x4D1F2400 70 0x4294682A 71 0x481BD28F
|
||||
72 0x68012210 73 0x18604E1D 74 0x47B04669 75 0x1B19682B 76 0xBF282910 77 0x23002110
|
||||
78 0xD011428B 79 0xF81D4A16 80 0x18A05003 81 0x42B55CC6 82 0x3301D101 83 0x4A15E7F4
|
||||
84 0x60112101 85 0xE7726054 86 0x25014E12 87 0xE76E6035 88 0x47A84D03 89 0xE7D63410
|
||||
90 0x40000200 91 0x100011BD 92 0x100013DD 93 0x10001289 94 0x1000800C 95 0x10008000
|
||||
96 0x10008004 97 0x1000130D 98 0x100013ED 99 0x10008010 100 0x10001335 101 0x10008014
|
||||
102 0x10008020 103 0x10001221 104 0x10001375 105 0x10008008 106 0x6A5A4B03 107 0xD0FB0512
|
||||
108 0x0060F893 109 0xBF004770 110 0x40006000 111 0x6B194B17 112 0xF4416B1A 113 0x63187040
|
||||
114 0x69186919 115 0x0110F041 116 0xF8D36119 117 0x220000C0 118 0x0106F020 119 0x00C0F8D3
|
||||
120 0x10C0F8C3 121 0x00C0F8D3 122 0x0101F040 123 0x00C0F8D3 124 0x10C0F8C3 125 0x43BCF503
|
||||
126 0x609A6899 127 0x20016AD9 128 0x691962DA 129 0x69596118 130 0x61592102 131 0x619A6999
|
||||
132 0x61DA69D9 133 0x64DA6CD9 134 0xBF004770 135 0x40000200 136 0x460EB570 137 0xB34A4614
|
||||
138 0xF3C04B15 139 0x681A4507 140 0x7240F44F 141 0x685A601A 142 0xF3C02103 143 0x2C102207
|
||||
144 0x2410BF28 145 0x605CB2C0 146 0x1060F883 147 0x5060F883 148 0xF8832101 149 0xF8832060
|
||||
150 0x689A0060 151 0x60992500 152 0x47984B08 153 0x35015570 154 0x42A2B2AA 155 0x4804D3F8
|
||||
156 0xF0116A81 157 0xD1FA0301 158 0x60836881 159 0xBD704620 160 0x40006000 161 0x100011A9
|
||||
162 0x4C10B5F8 163 0x68232003 164 0x7340F44F 165 0x68636023 166 0x60602101 167 0x68A3229F
|
||||
168 0x60A14D0B 169 0x2060F884 170 0x460647A8 171 0x460747A8 172 0x040347A8 173 0x2707EA43
|
||||
174 0x0006EA47 175 0x4B036AA1 176 0x0201F011 177 0x6899D1FA 178 0xBDF8609A 179 0x40006000
|
||||
180 0x100011A9 181 0x4C0BB510 182 0x68232001 183 0x7340F44F 184 0x68636023 185 0x60602105
|
||||
186 0x60A068A2 187 0xF8844A06 188 0x47901060 189 0x4B036AA1 190 0x0201F011 191 0x6899D1FA
|
||||
192 0xBD10609A 193 0x40006000 194 0x100011A9 195 0x21014B08 196 0xF44F681A 197 0x601A7280
|
||||
198 0x6099689A 199 0x0060F883 200 0x48036A9A 201 0x0101F012 202 0x6883D1FA 203 0x47706081
|
||||
204 0x40006000 205 0x21014B0E 206 0xF44F681A 207 0x601A7280 208 0x2220689A 209 0xF8836099
|
||||
210 0xF3C02060 211 0xF3C04107 212 0xB2C02207 213 0x1060F883 214 0x2060F883 215 0x0060F883
|
||||
216 0x4A036A99 217 0x0001F011 218 0x6893D1FA 219 0x47706090 220 0x40006000 221 0xB36AB530
|
||||
222 0x25014B17 223 0xF44F681C 224 0x601C7480 225 0x2402689C 226 0xF883609D 227 0xF3C04060
|
||||
228 0xF3C04507 229 0xB2C02407 230 0x5060F883 231 0x7F80F5B2 232 0xF44FBF28 233 0xF8837280
|
||||
234 0xF8834060 235 0x20000060 236 0x4C095C0D 237 0xF8843001 238 0xB2855060 239 0xD3F74295
|
||||
240 0x07496A99 241 0x6AA0D5FC 242 0xF0104B03 243 0xD1FA0101 244 0x60996898 245 0xBD304610
|
||||
246 0x40006000 247 0x4B02B508 248 0x07C04798 249 0xBD08D4FB 250 0x100012D5 251 0x4B04B508
|
||||
252 0xF0004798 253 0xB2C10002 254 0xD0F82900 255 0xBF00BD08 256 0x100012D5
|
||||
}
|
||||
|
||||
set rtl8710_flasher_command_read_id 0
|
||||
set rtl8710_flasher_command_mass_erase 1
|
||||
set rtl8710_flasher_command_sector_erase 2
|
||||
set rtl8710_flasher_command_read 3
|
||||
set rtl8710_flasher_command_write 4
|
||||
set rtl8710_flasher_command_verify 5
|
||||
|
||||
set rtl8710_flasher_ready 0
|
||||
set rtl8710_flasher_capacity 0
|
||||
set rtl8710_flasher_auto_erase 0
|
||||
set rtl8710_flasher_auto_verify 0
|
||||
set rtl8710_flasher_auto_erase_sector 0xFFFFFFFF
|
||||
|
||||
proc rtl8710_flasher_init {} {
|
||||
global rtl8710_flasher_firmware_ptr
|
||||
global rtl8710_flasher_buffer
|
||||
global rtl8710_flasher_capacity
|
||||
global rtl8710_flasher_ready
|
||||
global rtl8710_flasher_code
|
||||
|
||||
if {[expr {$rtl8710_flasher_ready == 0}]} {
|
||||
echo "initializing RTL8710 flasher"
|
||||
halt
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x08}] 0x00000000
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x00}] 0x00000001
|
||||
array2mem rtl8710_flasher_code 32 $rtl8710_flasher_firmware_ptr [array size rtl8710_flasher_code]
|
||||
reg faultmask 0x01
|
||||
reg sp 0x20000000
|
||||
reg pc $rtl8710_flasher_firmware_ptr
|
||||
resume
|
||||
rtl8710_flasher_wait
|
||||
set id [rtl8710_flasher_mrw [expr {$rtl8710_flasher_buffer + 0x0C}]]
|
||||
set rtl8710_flasher_capacity [expr {2 ** [expr {($id >> 16) & 0xFF}]}]
|
||||
set rtl8710_flasher_ready 1
|
||||
echo "RTL8710 flasher initialized"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
proc rtl8710_flasher_mrw {reg} {
|
||||
set value ""
|
||||
mem2array value 32 $reg 1
|
||||
return $value(0)
|
||||
}
|
||||
|
||||
proc rtl8710_flasher_wait {} {
|
||||
global rtl8710_flasher_buffer
|
||||
while {[rtl8710_flasher_mrw [expr {$rtl8710_flasher_buffer + 0x00}]]} { }
|
||||
}
|
||||
|
||||
proc rtl8710_flasher_load_block {local_filename offset len} {
|
||||
global rtl8710_flasher_buffer
|
||||
load_image $local_filename [expr {$rtl8710_flasher_buffer + 0x20 - $offset}] bin [expr {$rtl8710_flasher_buffer + 0x20}] $len
|
||||
}
|
||||
|
||||
proc rtl8710_flasher_read_block {offset len} {
|
||||
global rtl8710_flasher_buffer
|
||||
global rtl8710_flasher_command_read
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x04}] $rtl8710_flasher_command_read
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x08}] 0x00000000
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x10}] $offset
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x14}] $len
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x00}] 0x00000001
|
||||
rtl8710_flasher_wait
|
||||
set status [rtl8710_flasher_mrw [expr {$rtl8710_flasher_buffer + 0x08}]]
|
||||
if {[expr {$status > 0}]} {
|
||||
error "read error, offset $offset"
|
||||
}
|
||||
}
|
||||
|
||||
proc rtl8710_flasher_write_block {offset len} {
|
||||
global rtl8710_flasher_buffer
|
||||
global rtl8710_flasher_command_write
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x04}] $rtl8710_flasher_command_write
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x08}] 0x00000000
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x10}] $offset
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x14}] $len
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x00}] 0x00000001
|
||||
rtl8710_flasher_wait
|
||||
set status [rtl8710_flasher_mrw [expr {$rtl8710_flasher_buffer + 0x08}]]
|
||||
if {[expr {$status > 0}]} {
|
||||
error "write error, offset $offset"
|
||||
}
|
||||
}
|
||||
|
||||
proc rtl8710_flasher_verify_block {offset len} {
|
||||
global rtl8710_flasher_buffer
|
||||
global rtl8710_flasher_command_verify
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x04}] $rtl8710_flasher_command_verify
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x08}] 0x00000000
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x10}] $offset
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x14}] $len
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x00}] 0x00000001
|
||||
rtl8710_flasher_wait
|
||||
set status [rtl8710_flasher_mrw [expr {$rtl8710_flasher_buffer + 0x08}]]
|
||||
if {[expr {$status > 0}]} {
|
||||
set status [rtl8710_flasher_mrw [expr {$rtl8710_flasher_buffer + 0x0C}]]
|
||||
set status [expr {$status + $offset}]
|
||||
error "verify error, offset $status"
|
||||
}
|
||||
}
|
||||
|
||||
proc rtl8710_flash_read_id {} {
|
||||
global rtl8710_flasher_buffer
|
||||
global rtl8710_flasher_capacity
|
||||
global rtl8710_flasher_command_read_id
|
||||
rtl8710_flasher_init
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x04}] $rtl8710_flasher_command_read_id
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x08}] 0x00000000
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x00}] 0x00000001
|
||||
rtl8710_flasher_wait
|
||||
set id [rtl8710_flasher_mrw [expr {$rtl8710_flasher_buffer + 0x0C}]]
|
||||
set manufacturer_id [format "0x%02X" [expr {$id & 0xFF}]]
|
||||
set memory_type [format "0x%02X" [expr {($id >> 8) & 0xFF}]]
|
||||
set memory_capacity [expr {2 ** [expr {($id >> 16) & 0xFF}]}]
|
||||
echo "manufacturer ID: $manufacturer_id, memory type: $memory_type, memory capacity: $memory_capacity bytes"
|
||||
}
|
||||
|
||||
proc rtl8710_flash_mass_erase {} {
|
||||
global rtl8710_flasher_buffer
|
||||
global rtl8710_flasher_command_mass_erase
|
||||
rtl8710_flasher_init
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x04}] $rtl8710_flasher_command_mass_erase
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x08}] 0x00000000
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x00}] 0x00000001
|
||||
rtl8710_flasher_wait
|
||||
}
|
||||
|
||||
proc rtl8710_flash_sector_erase {offset} {
|
||||
global rtl8710_flasher_buffer
|
||||
global rtl8710_flasher_command_sector_erase
|
||||
rtl8710_flasher_init
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x04}] $rtl8710_flasher_command_sector_erase
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x08}] 0x00000000
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x10}] $offset
|
||||
mww [expr {$rtl8710_flasher_buffer + 0x00}] 0x00000001
|
||||
rtl8710_flasher_wait
|
||||
}
|
||||
|
||||
proc rtl8710_flash_read {local_filename loc size} {
|
||||
global rtl8710_flasher_buffer
|
||||
global rtl8710_flasher_buffer_size
|
||||
rtl8710_flasher_init
|
||||
for {set offset 0} {$offset < $size} {set offset [expr {$offset + $rtl8710_flasher_buffer_size}]} {
|
||||
set len [expr {$size - $offset}]
|
||||
if {[expr {$len > $rtl8710_flasher_buffer_size}]} {
|
||||
set len $rtl8710_flasher_buffer_size
|
||||
}
|
||||
set flash_offset [expr {$loc + $offset}]
|
||||
echo "read offset $flash_offset"
|
||||
rtl8710_flasher_read_block $flash_offset $len
|
||||
dump_image _rtl8710_flasher.bin [expr {$rtl8710_flasher_buffer + 0x20}] $len
|
||||
exec dd conv=notrunc if=_rtl8710_flasher.bin "of=$local_filename" bs=1 "seek=$offset"
|
||||
echo "read $len bytes"
|
||||
}
|
||||
}
|
||||
|
||||
proc rtl8710_flash_write {local_filename loc} {
|
||||
global rtl8710_flasher_buffer_size
|
||||
global rtl8710_flasher_sector_size
|
||||
global rtl8710_flasher_auto_erase
|
||||
global rtl8710_flasher_auto_verify
|
||||
global rtl8710_flasher_auto_erase_sector
|
||||
rtl8710_flasher_init
|
||||
set sector 0
|
||||
set size [file size $local_filename]
|
||||
for {set offset 0} {$offset < $size} {set offset [expr {$offset + $rtl8710_flasher_buffer_size}]} {
|
||||
set len [expr {$size - $offset}]
|
||||
if {[expr {$len > $rtl8710_flasher_buffer_size}]} {
|
||||
set len $rtl8710_flasher_buffer_size
|
||||
}
|
||||
set flash_offset [expr {$loc + $offset}]
|
||||
echo "write offset $flash_offset"
|
||||
rtl8710_flasher_load_block $local_filename $offset $len
|
||||
if {[expr {$rtl8710_flasher_auto_erase != 0}]} {
|
||||
for {set i $flash_offset} {$i < [expr {$flash_offset + $len}]} {incr i} {
|
||||
set sector [expr {$i / $rtl8710_flasher_sector_size}]
|
||||
if {[expr {$rtl8710_flasher_auto_erase_sector != $sector}]} {
|
||||
echo "erase sector $sector"
|
||||
rtl8710_flash_sector_erase [expr {$sector * $rtl8710_flasher_sector_size}]
|
||||
set rtl8710_flasher_auto_erase_sector $sector
|
||||
}
|
||||
}
|
||||
}
|
||||
rtl8710_flasher_write_block $flash_offset $len
|
||||
echo "wrote $len bytes"
|
||||
if {[expr {$rtl8710_flasher_auto_verify != 0}]} {
|
||||
echo "verify offset $flash_offset"
|
||||
rtl8710_flasher_verify_block $flash_offset $len
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc rtl8710_flash_verify {local_filename loc} {
|
||||
global rtl8710_flasher_buffer_size
|
||||
rtl8710_flasher_init
|
||||
set size [file size $local_filename]
|
||||
for {set offset 0} {$offset < $size} {set offset [expr {$offset + $rtl8710_flasher_buffer_size}]} {
|
||||
set len [expr {$size - $offset}]
|
||||
if {[expr {$len > $rtl8710_flasher_buffer_size}]} {
|
||||
set len $rtl8710_flasher_buffer_size
|
||||
}
|
||||
set flash_offset [expr {$loc + $offset}]
|
||||
echo "read offset $flash_offset"
|
||||
rtl8710_flasher_load_block $local_filename $offset $len
|
||||
echo "verify offset $flash_offset"
|
||||
rtl8710_flasher_verify_block $flash_offset $len
|
||||
}
|
||||
}
|
||||
|
||||
proc rtl8710_flash_auto_erase {on} {
|
||||
global rtl8710_flasher_auto_erase
|
||||
if {[expr {$on != 0}]} {
|
||||
set rtl8710_flasher_auto_erase 1
|
||||
echo "auto erase on"
|
||||
} else {
|
||||
set rtl8710_flasher_auto_erase 0
|
||||
echo "auto erase off"
|
||||
}
|
||||
}
|
||||
|
||||
proc rtl8710_flash_auto_verify {on} {
|
||||
global rtl8710_flasher_auto_verify
|
||||
if {[expr {$on != 0}]} {
|
||||
set rtl8710_flasher_auto_verify 1
|
||||
echo "auto verify on"
|
||||
} else {
|
||||
set rtl8710_flasher_auto_verify 0
|
||||
echo "auto verify off"
|
||||
}
|
||||
}
|
||||
|
||||
proc rtl8710_reboot {} {
|
||||
echo "# Set processor clock to default before system reset"
|
||||
mww 0x40000014 0x00000021
|
||||
sleep 10
|
||||
echo "# Reboot (system reset)"
|
||||
mww 0xE000ED0C 0x05FA0007
|
||||
}
|
||||
|
||||
BIN
RTL00_SDKV35a/flasher/rtl8710_flasher.bin
Normal file
BIN
RTL00_SDKV35a/flasher/rtl8710_flasher.bin
Normal file
Binary file not shown.
44
RTL00_SDKV35a/paths.mk
Normal file
44
RTL00_SDKV35a/paths.mk
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
#---------------------------
|
||||
# User defined (in userset.mk)
|
||||
#---------------------------
|
||||
SDK_PATH ?= ../RTL00MP3/RTL00_SDKV35a/
|
||||
#GCC_PATH = d:/MCU/GNU_Tools_ARM_Embedded/5.2_2015q4/bin/# + or set in PATH
|
||||
#OPENOCD_PATH = d:/MCU/OpenOCD/bin/# + or set in PATH
|
||||
TOOLS_PATH ?= $(SDK_PATH)component/soc/realtek/8195a/misc/iar_utility/common/tools/
|
||||
FLASHER_TYPE ?= Jlink
|
||||
#FLASHER_TYPE ?= OCD
|
||||
FLASHER_PATH ?= $(SDK_PATH)flasher/
|
||||
JLINK_PATH ?= D:/MCU/SEGGER/JLink_V612i/
|
||||
JLINK_GDBSRV ?= JLinkGDBServer.exe
|
||||
#---------------------------
|
||||
# Default
|
||||
#---------------------------
|
||||
# Compilation tools
|
||||
CROSS_COMPILE = $(GCC_PATH)arm-none-eabi-
|
||||
AR = $(CROSS_COMPILE)ar
|
||||
CC = $(CROSS_COMPILE)gcc
|
||||
AS = $(CROSS_COMPILE)as
|
||||
NM = $(CROSS_COMPILE)nm
|
||||
LD = $(CROSS_COMPILE)gcc
|
||||
GDB = $(CROSS_COMPILE)gdb
|
||||
SIZE = $(CROSS_COMPILE)size
|
||||
OBJCOPY = $(CROSS_COMPILE)objcopy
|
||||
OBJDUMP = $(CROSS_COMPILE)objdump
|
||||
|
||||
# TARGET dirs
|
||||
TARGET ?= build
|
||||
OBJ_DIR ?= $(TARGET)/obj
|
||||
BIN_DIR ?= $(TARGET)/bin
|
||||
ELFFILE ?= $(OBJ_DIR)/$(TARGET).axf
|
||||
|
||||
# Make bunary tools
|
||||
ifneq ($(shell uname), Linux)
|
||||
EXE = .exe
|
||||
endif
|
||||
PICK = $(TOOLS_PATH)pick$(EXE)
|
||||
PADDING = $(TOOLS_PATH)padding$(EXE)
|
||||
CHCKSUM = $(TOOLS_PATH)checksum$(EXE)
|
||||
|
||||
# openocd tools
|
||||
OPENOCD = $(OPENOCD_PATH)openocd
|
||||
|
||||
93
RTL00_SDKV35a/sdkbuild.mk
Normal file
93
RTL00_SDKV35a/sdkbuild.mk
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
include userset.mk
|
||||
include $(SDK_PATH)paths.mk
|
||||
include project.mk
|
||||
|
||||
INCFLAGS = $(patsubst %,-I%,$(patsubst sdk/%,$(SDK_PATH)%,$(INCLUDES)))
|
||||
|
||||
LIBFLAGS = $(addprefix -L,$(patsubst sdk/%,$(SDK_PATH)%,$(PATHLIBS))) $(addprefix -l,$(LIBS))
|
||||
|
||||
LFLAGS += -Wl,-Map=$(OBJ_DIR)/$(TARGET).map
|
||||
|
||||
CFLAGS += $(INCFLAGS)
|
||||
|
||||
SRC_O = $(patsubst %.c,%.o,$(patsubst sdk/%,$(SDK_PATH)%,$(ADD_SRC_C))) $(patsubst %.c,%.o,$(patsubst sdk/%,$(SDK_PATH)%,$(SRC_C)))
|
||||
DRAM_O = $(patsubst %.c,%.o,$(patsubst sdk/%,$(SDK_PATH)%,$(DRAM_C)))
|
||||
BOOT_O = $(patsubst %.c,%.o,$(patsubst sdk/%,$(SDK_PATH)%,$(BOOT_C)))
|
||||
|
||||
SRC_C_LIST = $(patsubst sdk/%,$(SDK_PATH)%,$(ADD_SRC_C)) $(patsubst sdk/%,$(SDK_PATH)%,$(SRC_C)) $(patsubst sdk/%,$(SDK_PATH)%,$(DRAM_C)) $(patsubst sdk/%,$(SDK_PATH)%,$(BOOT_C))
|
||||
OBJ_LIST = $(addprefix $(OBJ_DIR)/,$(patsubst %.c,%.o,$(SRC_C_LIST)))
|
||||
DEPENDENCY_LIST = $(patsubst %.c,$(OBJ_DIR)/%.d,$(SRC_C_LIST))
|
||||
|
||||
TARGET ?= build
|
||||
OBJ_DIR ?= $(TARGET)/obj
|
||||
BIN_DIR ?= $(TARGET)/bin
|
||||
ELFFILE ?= $(OBJ_DIR)/$(TARGET).axf
|
||||
|
||||
all: prerequirement application
|
||||
mp: prerequirement application
|
||||
|
||||
.PHONY: build_info
|
||||
build_info:
|
||||
@echo \#define UTS_VERSION \"`date +%Y/%m/%d-%T`\" > .ver
|
||||
@echo \#define RTL8195AFW_COMPILE_TIME \"`date +%Y/%m/%d-%T`\" >> .ver
|
||||
@echo \#define RTL8195AFW_COMPILE_DATE \"`date +%Y%m%d`\" >> .ver
|
||||
@echo \#define RTL8195AFW_COMPILE_BY \"`id -u -n`\" >> .ver
|
||||
@echo \#define RTL8195AFW_COMPILE_HOST \"`$(HOSTNAME_APP)`\" >> .ver
|
||||
@if [ -x /bin/dnsdomainname ]; then \
|
||||
echo \#define RTL8195AFW_COMPILE_DOMAIN \"`dnsdomainname`\"; \
|
||||
elif [ -x /bin/domainname ]; then \
|
||||
echo \#define RTL8195AFW_COMPILE_DOMAIN \"`domainname`\"; \
|
||||
else \
|
||||
echo \#define RTL8195AFW_COMPILE_DOMAIN ; \
|
||||
fi >> .ver
|
||||
@echo \#define RTL195AFW_COMPILER \"gcc `$(CC) $(CFLAGS) -dumpversion | tr --delete '\r'`\" >> .ver
|
||||
@mv -f .ver project/inc/$@.h
|
||||
|
||||
.PHONY: application
|
||||
application: build_info $(SRC_O) $(DRAM_O) $(BOOT_O)
|
||||
@echo "==========================================================="
|
||||
@echo "Link ($(TARGET))"
|
||||
# @echo "==========================================================="
|
||||
@mkdir -p $(BIN_DIR) $(OBJ_DIR)
|
||||
@$(file > $(OBJ_DIR)/obj_list.lst,$(OBJ_LIST))
|
||||
@$(LD) $(LFLAGS) -o $(ELFFILE) @$(OBJ_DIR)/obj_list.lst $(LIBFLAGS) -T$(LDFILE)
|
||||
@$(OBJDUMP) -d $(ELFFILE) > $(OBJ_DIR)/$(TARGET).asm
|
||||
|
||||
.PHONY: prerequirement
|
||||
#.NOTPARALLEL: prerequirement
|
||||
prerequirement:
|
||||
# @$(file >DEPENDENCY_LIST.txt,$(DEPENDENCY_LIST))
|
||||
@echo "==========================================================="
|
||||
@echo "Compile ($(TARGET))"
|
||||
# @echo "==========================================================="
|
||||
@mkdir -p $(OBJ_DIR)
|
||||
|
||||
$(SRC_O): %.o : %.c
|
||||
@echo $<
|
||||
@mkdir -p $(OBJ_DIR)/$(dir $@)
|
||||
@$(CC) $(CFLAGS) $(INCFLAGS) -c $< -o $(OBJ_DIR)/$@
|
||||
@$(CC) -MM $(CFLAGS) $(INCFLAGS) $< -MT $@ -MF $(OBJ_DIR)/$(patsubst %.o,%.d,$@)
|
||||
|
||||
$(DRAM_O): %.o : %.c
|
||||
@echo $<
|
||||
@mkdir -p $(OBJ_DIR)/$(dir $@)
|
||||
@$(CC) $(CFLAGS) $(INCFLAGS) -c $< -o $(OBJ_DIR)/$@
|
||||
@$(OBJCOPY) --prefix-alloc-sections .sdram $(OBJ_DIR)/$@
|
||||
@$(CC) -MM $(CFLAGS) $(INCFLAGS) $< -MT $@ -MF $(OBJ_DIR)/$(patsubst %.o,%.d,$@)
|
||||
|
||||
$(BOOT_O): %.o : %.c
|
||||
@echo $<
|
||||
@mkdir -p $(OBJ_DIR)/$(dir $@)
|
||||
@$(CC) $(CFLAGS) $(INCFLAGS) -c $< -o $(OBJ_DIR)/$@
|
||||
@$(OBJCOPY) --prefix-alloc-sections .boot $(OBJ_DIR)/$@
|
||||
@$(CC) -MM $(CFLAGS) $(INCFLAGS) $< -MT $@ -MF $(OBJ_DIR)/$(patsubst %.o,%.d,$@)
|
||||
|
||||
-include $(DEPENDENCY_LIST)
|
||||
|
||||
VPATH:=$(OBJ_DIR) $(SDK_PATH)
|
||||
|
||||
#.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(OBJ_DIR) $(BIN_DIR) $(OBJ_DIR)/$(SDK_PATH)
|
||||
|
||||
|
||||
438
RTL00_SDKV35a/sdkset.mk
Normal file
438
RTL00_SDKV35a/sdkset.mk
Normal file
|
|
@ -0,0 +1,438 @@
|
|||
#=============================================
|
||||
# USER CONFIG (in project.mk)
|
||||
#=============================================
|
||||
#USE_AT = 1
|
||||
#USE_FATFS = 1
|
||||
#USE_SDIOH = 1
|
||||
#USE_POLARSSL = 1
|
||||
#USE_P2P_WPS = 1
|
||||
#ifndef USE_AT
|
||||
#USE_NEWCONSOLE = 1
|
||||
#USE_WIFI_API = 1
|
||||
#endif
|
||||
#USE_MBED = 1
|
||||
#USE_GCC_LIB = 1
|
||||
#RTOSDIR=freertos_v8.1.2
|
||||
#RTOSDIR=freertos_v9.0.0
|
||||
#LWIPDIR=lwip_v1.4.1
|
||||
# -------------------------------------------------------------------
|
||||
# FLAGS
|
||||
# -------------------------------------------------------------------
|
||||
CFLAGS = -DM3 -DCONFIG_PLATFORM_8195A -DGCC_ARMCM3 -DARDUINO_SDK -DF_CPU=166666666L -DNDEBUG
|
||||
CFLAGS += -mcpu=cortex-m3 -mthumb -g2 -Os -std=gnu99 -Wall -Werror
|
||||
CFLAGS += -fno-common -fmessage-length=0 -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-short-enums -fsigned-char
|
||||
CFLAGS += -w -Wno-pointer-sign
|
||||
ifdef USE_GCC_LIB
|
||||
LFLAGS = -mcpu=cortex-m3 -mthumb -g -Os -nostartfiles --specs=nano.specs
|
||||
else
|
||||
LFLAGS = -mcpu=cortex-m3 -mthumb -g -Os -nostartfiles -nostdlib
|
||||
endif
|
||||
LFLAGS += -Wl,--gc-sections -Wl,--cref -Wl,--entry=Reset_Handler -Wl,--no-enum-size-warning -Wl,--no-wchar-size-warning -Wl,-nostdlib
|
||||
|
||||
# LIBS
|
||||
# -------------------------------------------------------------------
|
||||
LIBS =
|
||||
ifdef USE_GCC_LIB
|
||||
all: LIBS +=_platform_new _wlan _p2p _wps _websocket _sdcard _xmodem _mdns gcc m c nosys
|
||||
mp: LIBS +=_platform_new _wlan_mp _wps _p2p _websocket _sdcard _xmodem _mdns gcc m c nosys
|
||||
else
|
||||
all: LIBS +=_platform_new _wlan _p2p _wps _websocket _sdcard _xmodem _mdns
|
||||
mp: LIBS +=_platform_new _wlan_mp _wps _p2p _websocket _sdcard _xmodem _mdns
|
||||
endif
|
||||
# m c nosys gcc
|
||||
PATHLIBS = sdk/component/soc/realtek/8195a/misc/bsp/lib/common/gcc
|
||||
LDFILE = rlx8195A-symbol-v04-img2.ld
|
||||
BOOTS = sdk/component/soc/realtek/8195a/misc/bsp/image
|
||||
|
||||
# Include folder list
|
||||
# -------------------------------------------------------------------
|
||||
INCLUDES = ../inc
|
||||
INCLUDES += project/inc
|
||||
INCLUDES += sdk/component/soc/realtek/common/bsp
|
||||
INCLUDES += sdk/component/os/freertos
|
||||
INCLUDES += sdk/component/os/freertos/$(RTOSDIR)/Source/include
|
||||
INCLUDES += sdk/component/os/freertos/$(RTOSDIR)/Source/portable/GCC/ARM_CM3
|
||||
INCLUDES += sdk/component/os/os_dep/include sdk/component/soc/realtek/8195a/misc/driver
|
||||
INCLUDES += sdk/component/common/api/network/include
|
||||
INCLUDES += sdk/component/common/api
|
||||
INCLUDES += sdk/component/common/api/platform
|
||||
INCLUDES += sdk/component/common/api/wifi
|
||||
INCLUDES += sdk/component/common/api/wifi/rtw_wpa_supplicant/src
|
||||
INCLUDES += sdk/component/common/network
|
||||
INCLUDES += sdk/component/common/network/lwip/$(LWIPDIR)/port/realtek/freertos
|
||||
INCLUDES += sdk/component/common/network/lwip/$(LWIPDIR)/src/include
|
||||
INCLUDES += sdk/component/common/network/lwip/$(LWIPDIR)/src/include/lwip
|
||||
INCLUDES += sdk/component/common/network/lwip/$(LWIPDIR)/src/include/ipv4
|
||||
INCLUDES += sdk/component/common/network/lwip/$(LWIPDIR)/port/realtek
|
||||
INCLUDES += sdk/component/common/test
|
||||
INCLUDES += sdk/component/soc/realtek/8195a/cmsis
|
||||
INCLUDES += sdk/component/soc/realtek/8195a/cmsis/device
|
||||
INCLUDES += sdk/component/soc/realtek/8195a/fwlib
|
||||
INCLUDES += sdk/component/soc/realtek/8195a/fwlib/rtl8195a
|
||||
INCLUDES += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/
|
||||
INCLUDES += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/include
|
||||
INCLUDES += sdk/component/common/drivers
|
||||
INCLUDES += sdk/component/common/drivers/i2s
|
||||
INCLUDES += sdk/component/common/drivers/wlan/realtek/include
|
||||
INCLUDES += sdk/component/common/drivers/wlan/realtek/src/osdep
|
||||
INCLUDES += sdk/component/common/drivers/wlan/realtek/src/hci
|
||||
INCLUDES += sdk/component/common/drivers/wlan/realtek/src/hal
|
||||
INCLUDES += sdk/component/common/drivers/wlan/realtek/src/hal/OUTSRC
|
||||
INCLUDES += sdk/component/common/drivers/sdio/realtek/sdio_host/inc
|
||||
INCLUDES += sdk/component/soc/realtek/8195a/fwlib/ram_lib/wlan/realtek/wlan_ram_map/rom
|
||||
INCLUDES += sdk/component/common/network/ssl/ssl_ram_map/rom
|
||||
#INCLUDES += sdk/component/common/media/codec
|
||||
#INCLUDES += sdk/component/common/drivers/usb_class/host/uvc/inc
|
||||
#INCLUDES += sdk/component/common/drivers/usb_class/device
|
||||
#INCLUDES += sdk/component/common/drivers/usb_class/device/class
|
||||
#INCLUDES += sdk/component/soc/realtek/8195a/fwlib/ram_lib/usb_otg/include
|
||||
|
||||
# Source file list
|
||||
# -------------------------------------------------------------------
|
||||
SRC_C =
|
||||
DRAM_C =
|
||||
BOOT_C =
|
||||
|
||||
#bootloader
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/ram_lib/rtl_bios_data.c
|
||||
BOOT_C += sdk/component/soc/realtek/8195a/fwlib/ram_lib/rtl_boot.c
|
||||
|
||||
#cmsis
|
||||
SRC_C += sdk/component/soc/realtek/8195a/cmsis/device/system_8195a.c
|
||||
|
||||
#console new/old
|
||||
ifdef USE_NEWCONSOLE
|
||||
SRC_C += sdk/component/soc/realtek/8195a/misc/driver/rtl_console_new.c
|
||||
else
|
||||
SRC_C += sdk/component/common/api/at_cmd/log_service.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/misc/driver/rtl_consol.c
|
||||
endif
|
||||
ifdef USE_AT
|
||||
DRAM_C += sdk/component/common/api/at_cmd/atcmd_ethernet.c
|
||||
DRAM_C += sdk/component/common/api/at_cmd/atcmd_lwip.c
|
||||
DRAM_C += sdk/component/common/api/at_cmd/atcmd_sys.c
|
||||
DRAM_C += sdk/component/common/api/at_cmd/atcmd_wifi.c
|
||||
endif
|
||||
#SRC_C += sdk/component/soc/realtek/8195a/misc/driver/low_level_io.c
|
||||
|
||||
#network - api
|
||||
ifdef USE_P2P_WPS
|
||||
SRC_C += sdk/component/common/api/wifi/rtw_wpa_supplicant/wpa_supplicant/wifi_p2p_config.c
|
||||
SRC_C += sdk/component/common/api/wifi/rtw_wpa_supplicant/wpa_supplicant/wifi_wps_config.c
|
||||
endif
|
||||
SRC_C += sdk/component/common/api/wifi/rtw_wpa_supplicant/wpa_supplicant/wifi_eap_config.c
|
||||
SRC_C += sdk/component/common/api/wifi/wifi_conf.c
|
||||
SRC_C += sdk/component/common/api/wifi/wifi_ind.c
|
||||
SRC_C += sdk/component/common/api/wifi/wifi_promisc.c
|
||||
SRC_C += sdk/component/common/api/wifi/wifi_simple_config.c
|
||||
SRC_C += sdk/component/common/api/wifi/wifi_util.c
|
||||
SRC_C += sdk/component/common/api/lwip_netconf.c
|
||||
ifdef USE_WIFI_API
|
||||
SRC_C += sdk/component/common/api/wifi_api.c
|
||||
SRC_C += sdk/component/common/api/wifi_api_scan.c
|
||||
endif
|
||||
|
||||
#network - lwip
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/api/api_lib.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/api/api_msg.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/api/err.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/api/netbuf.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/api/netdb.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/api/netifapi.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/api/sockets.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/api/tcpip.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/ipv4/autoip.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/ipv4/icmp.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/ipv4/igmp.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/ipv4/inet.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/ipv4/inet_chksum.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/ipv4/ip.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/ipv4/ip_addr.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/ipv4/ip_frag.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/def.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/dhcp.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/dns.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/init.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/lwip_timers.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/mem.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/memp.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/netif.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/pbuf.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/raw.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/stats.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/sys.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/tcp.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/tcp_in.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/tcp_out.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/core/udp.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/src/netif/etharp.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/port/realtek/freertos/ethernetif.c
|
||||
SRC_C += sdk/component/common/drivers/wlan/realtek/src/osdep/lwip_intf.c
|
||||
SRC_C += sdk/component/common/network/lwip/$(LWIPDIR)/port/realtek/freertos/sys_arch.c
|
||||
SRC_C += sdk/component/common/network/dhcp/dhcps.c
|
||||
SRC_C += sdk/component/common/network/sntp/sntp.c
|
||||
SRC_C += sdk/component/common/network/netbios/netbios.c
|
||||
|
||||
#network - mdns
|
||||
#SRC_C += sdk/component/common/network/mDNS/mDNSPlatform.c
|
||||
|
||||
#os - freertos
|
||||
SRC_C += sdk/component/os/freertos/$(RTOSDIR)/Source/portable/MemMang/heap_5.c
|
||||
SRC_C += sdk/component/os/freertos/$(RTOSDIR)/Source/portable/GCC/ARM_CM3/port.c
|
||||
SRC_C += sdk/component/os/freertos/cmsis_os.c
|
||||
SRC_C += sdk/component/os/freertos/$(RTOSDIR)/Source/croutine.c
|
||||
SRC_C += sdk/component/os/freertos/$(RTOSDIR)/Source/event_groups.c
|
||||
SRC_C += sdk/component/os/freertos/$(RTOSDIR)/Source/list.c
|
||||
SRC_C += sdk/component/os/freertos/$(RTOSDIR)/Source/queue.c
|
||||
SRC_C += sdk/component/os/freertos/$(RTOSDIR)/Source/tasks.c
|
||||
SRC_C += sdk/component/os/freertos/$(RTOSDIR)/Source/timers.c
|
||||
|
||||
#os - osdep
|
||||
SRC_C += sdk/component/os/os_dep/device_lock.c
|
||||
SRC_C += sdk/component/os/freertos/freertos_service.c
|
||||
SRC_C += sdk/component/os/os_dep/mailbox.c
|
||||
SRC_C += sdk/component/os/os_dep/osdep_api.c
|
||||
SRC_C += sdk/component/os/os_dep/osdep_service.c
|
||||
SRC_C += sdk/component/os/os_dep/tcm_heap.c
|
||||
|
||||
ifdef USE_MBED
|
||||
#peripheral - api
|
||||
INCLUDES += sdk/component/common/mbed/api
|
||||
INCLUDES += sdk/component/common/mbed/hal
|
||||
INCLUDES += sdk/component/common/mbed/hal_ext
|
||||
INCLUDES += sdk/component/common/mbed/targets/hal/rtl8195a
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/analogin_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/dma_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/efuse_api.c
|
||||
#SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/ethernet_api.c
|
||||
#SRC_C += sdk/component/common/drivers/ethernet_mii/ethernet_mii.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/flash_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/gpio_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/gpio_irq_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/i2c_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/i2s_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/log_uart_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/nfc_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/pinmap.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/pinmap_common.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/port_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/pwmout_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/rtc_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/serial_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/sleep.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/spdio_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/spi_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/sys_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/timer_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/us_ticker.c
|
||||
SRC_C += sdk/component/common/mbed/common/us_ticker_api.c
|
||||
SRC_C += sdk/component/common/mbed/common/wait_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/wdt_api.c
|
||||
SRC_C += sdk/component/common/mbed/targets/hal/rtl8195a/flash_eep.c
|
||||
endif
|
||||
|
||||
#peripheral - hal
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_32k.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_adc.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_gdma.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_gpio.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_i2c.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_i2s.c
|
||||
#SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_mii.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_nfc.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_pcm.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_pwm.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_sdr_controller.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_ssi.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_timer.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_uart.c
|
||||
ifdef USE_SDIOH
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_sdio_host.c
|
||||
SRC_C += sdk/component/common/drivers/sdio/realtek/sdio_host/src/sd.c
|
||||
SRC_C += sdk/component/common/drivers/sdio/realtek/sdio_host/src/sdio_host.c
|
||||
endif
|
||||
|
||||
#peripheral - osdep
|
||||
SRC_C += sdk/component/os/freertos/freertos_pmu.c
|
||||
|
||||
#peripheral - rtl8195a
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_adc.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_gdma.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_gpio.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_i2c.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_i2s.c
|
||||
#SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_mii.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_nfc.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_pwm.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_ssi.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_timer.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/rtl8195a/src/rtl8195a_uart.c
|
||||
|
||||
#peripheral - wlan
|
||||
#SRC_C += sdk/component/common/drivers/wlan/realtek/src/core/option/rtw_opt_skbuf.c
|
||||
|
||||
#SDRAM
|
||||
#DRAM_C += sdk/component/common/api/platform/stdlib_patch.c
|
||||
#SDRAM - polarssl
|
||||
ifdef USE_POLARSSL
|
||||
INCLUDES += sdk/component/common/network/ssl/polarssl-1.3.8/include
|
||||
|
||||
SRC_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/bignum.c
|
||||
|
||||
DRAM_C += sdk/component/common/network/ssl/ssl_ram_map/rom/rom_ssl_ram_map.c
|
||||
DRAM_C += sdk/component/common/network/ssl/ssl_ram_map/ssl_ram_map.c
|
||||
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/aes.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/aesni.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/arc4.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/asn1parse.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/asn1write.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/base64.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/blowfish.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/camellia.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ccm.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/certs.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/cipher.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/cipher_wrap.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ctr_drbg.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/debug.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/des.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/dhm.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ecp.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ecp_curves.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ecdh.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ecdsa.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/entropy.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/entropy_poll.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/error.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/gcm.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/havege.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/hmac_drbg.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/md.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/md_wrap.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/md2.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/md4.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/md5.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/memory_buffer_alloc.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/net.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/oid.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/padlock.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/pbkdf2.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/pem.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/pkcs5.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/pkcs11.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/pkcs12.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/pk.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/pk_wrap.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/pkparse.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/pkwrite.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/platform.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ripemd160.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/rsa.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/sha1.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/sha256.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/sha512.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ssl_cache.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ssl_ciphersuites.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ssl_cli.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ssl_srv.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/ssl_tls.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/threading.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/timing.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/version.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/version_features.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/x509.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/x509_crt.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/x509_crl.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/x509_csr.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/x509_create.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/x509write_crt.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/x509write_csr.c
|
||||
DRAM_C += sdk/component/common/network/ssl/polarssl-1.3.8/library/xtea.c
|
||||
endif
|
||||
|
||||
#utilities - FatFS
|
||||
ifdef USE_FATFS
|
||||
INCLUDES += sdk/component/common/file_system/fatfs
|
||||
INCLUDES += sdk/component/common/file_system/fatfs/r0.10c/include
|
||||
SRC_C += sdk/component/common/file_system/fatfs/fatfs_ext/src/ff_driver.c
|
||||
SRC_C += sdk/component/common/file_system/fatfs/r0.10c/src/diskio.c
|
||||
SRC_C += sdk/component/common/file_system/fatfs/r0.10c/src/ff.c
|
||||
SRC_C += sdk/component/common/file_system/fatfs/r0.10c/src/option/ccsbcs.c
|
||||
ifdef USE_SDIOH
|
||||
SRC_C += sdk/component/common/file_system/fatfs/disk_if/src/sdcard.c
|
||||
endif
|
||||
endif
|
||||
|
||||
# Reversed SDK component
|
||||
#ADD_SRC_C += sdk/component/soc/realtek/8195a/cmsis/device/app_start.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_dac.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_common.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_soc_ps_monitor.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_efuse.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_log_uart.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_pinmux.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_misc.c
|
||||
#ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_spi_flash_ram.c
|
||||
# Component clib, ...
|
||||
SRC_C += sdk/component/soc/realtek/8195a/fwlib/ram_lib/startup.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/ram_libc.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/ram_libgloss_retarget.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/rtl_eabi_cast_ram.c
|
||||
SRC_C += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/rtl_math_ram.c
|
||||
#if +- nostdlib..
|
||||
ifndef USE_GCC_LIB
|
||||
SRC_C += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/ram_pvvx_libc.c
|
||||
endif
|
||||
#if c_printf() float
|
||||
SRC_C += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/c_stdio.c
|
||||
# -------------------------------------------------------------------
|
||||
# Add Source file list
|
||||
# -------------------------------------------------------------------
|
||||
ADD_SRC_C =
|
||||
# -------------------------------------------------------------------
|
||||
# SAMPLES
|
||||
# -------------------------------------------------------------------
|
||||
ifdef USE_AT
|
||||
INCLUDES += sdk/component/common/utilities
|
||||
ADD_SRC_C += sdk/component/common/api/network/src/wlan_network.c
|
||||
ADD_SRC_C += sdk/component/common/api/wifi_interactive_mode.c
|
||||
ADD_SRC_C += sdk/component/common/api/network/src/ping_test.c
|
||||
ADD_SRC_C += sdk/component/common/utilities/webserver.c
|
||||
ADD_SRC_C += sdk/component/common/utilities/tcptest.c
|
||||
ADD_SRC_C += sdk/component/common/utilities/update.c
|
||||
INCLUDES += sdk/component/common/example
|
||||
INCLUDES += sdk/component/common/example/wlan_fast_connect
|
||||
ADD_SRC_C += sdk/component/common/example/wlan_fast_connect/example_wlan_fast_connect.c
|
||||
ADD_SRC_C += sdk/component/common/example/uart_atcmd/example_uart_atcmd.c
|
||||
ADD_SRC_C += sdk/component/common/example/example_entry.c
|
||||
ADD_SRC_C += sdk/component/common/application/xmodem/uart_fw_update.c
|
||||
endif
|
||||
#application
|
||||
#INCLUDES += sdk/component/common/application/apple/WACServer/External/Curve25519
|
||||
#INCLUDES += sdk/component/common/application/apple/WACServer/External/GladmanAES
|
||||
#INCLUDES += sdk/component/common/audio
|
||||
#INCLUDES += sdk/component/common/application/xmodem
|
||||
#INCLUDES += sdk/component/common/application
|
||||
#INCLUDES += sdk/component/common/application/iotdemokit
|
||||
#INCLUDES += sdk/component/common/application/google
|
||||
#INCLUDES += sdk/component/common/media/framework
|
||||
#SDRAM - wigadget
|
||||
#DRAM_C += sdk/component/common/application/wigadget/cloud_link.c
|
||||
#DRAM_C += sdk/component/common/application/wigadget/shtc1.c
|
||||
#DRAM_C += sdk/component/common/application/wigadget/wigadget.c
|
||||
|
||||
#utilities
|
||||
#ADD_SRC_C += sdk/component/common/utilities/cJSON.c
|
||||
#ADD_SRC_C += sdk/component/common/utilities/http_client.c
|
||||
#ADD_SRC_C += sdk/component/common/utilities/uart_socket.c
|
||||
#ADD_SRC_C += sdk/component/common/utilities/xml.c
|
||||
#ADD_SRC_C += sdk/component/common/utilities/ssl_client.c
|
||||
#ADD_SRC_C += sdk/component/common/utilities/ssl_client_ext.c
|
||||
#ADD_SRC_C += sdk/component/common/utilities/uart_ymodem.c
|
||||
#ADD_SRC_C += sdk/component/common/application/uart_adapter/uart_adapter.c
|
||||
#ADD_SRC_C += sdk/component/common/example/cJSON/cJSON_example.c
|
||||
#ADD_SRC_C += sdk/component/common/example/googlenest/example_google.c
|
||||
#ADD_SRC_C += sdk/component/common/example/mdns/example_mdns.c
|
||||
#ADD_SRC_C += sdk/component/common/example/socket_select/example_socket_select.c
|
||||
#ADD_SRC_C += sdk/component/common/example/xml/example_xml.c
|
||||
Loading…
Add table
Add a link
Reference in a new issue