[BL602] Update flash tools and add ipv6 addr hook

This commit is contained in:
jczhang 2022-09-21 20:52:12 +08:00
parent 880fc35190
commit 9563086f23
46 changed files with 498 additions and 63 deletions

View File

@ -0,0 +1,17 @@
#ifndef _LWIP_DEFAULT_HOOKS_H_
#define _LWIP_DEFAULT_HOOKS_H_
#include "lwip/ip_addr.h"
#include "lwip/arch.h"
#include "lwip/err.h"
#ifdef CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT
extern struct netif * lwip_hook_ip6_route(const ip6_addr_t * src, const ip6_addr_t * dest);
#define LWIP_HOOK_IP6_ROUTE lwip_hook_ip6_route
#endif
#ifdef CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT
extern const ip6_addr_t *lwip_hook_nd6_get_gw(struct netif *netif, const ip6_addr_t *dest);
#define LWIP_HOOK_ND6_GET_GW lwip_hook_nd6_get_gw
#endif
#endif /* _LWIP_DEFAULT_HOOKS_H_ */

View File

@ -271,6 +271,20 @@ nd6_process_autoconfig_prefix(struct netif *netif,
/* Assign the new address to the interface. */
ip_addr_copy_from_ip6(netif->ip6_addr[free_idx], ip6addr);
ef_print("GET IPV6 ADDR.\r\n");
ef_print("======================================\r\n");
for (int i = 0; i < 4; i++) {
//75c8d9fd
ef_print("%02lx%02lx:%02lx%02lx:", (ip6addr.addr)[i] & 0xff, ((ip6addr.addr)[i] >> 8) & 0xff, ((ip6addr.addr)[i] >> 16) & 0xff, ((ip6addr.addr)[i] >> 24) & 0xff);
}
ef_print("\r\n");
ef_print("======================================\r\n");
#ifdef CONFIG_ENABLE_IPV6_ADDR_CALLBACK
if (netif->ipv6_addr_cb != NULL)
{
netif->ipv6_addr_cb(netif, free_idx);
}
#endif
netif_ip6_addr_set_valid_life(netif, free_idx, valid_life);
netif_ip6_addr_set_pref_life(netif, free_idx, pref_life);
netif_ip6_addr_set_state(netif, free_idx, IP6_ADDR_TENTATIVE);

View File

@ -282,6 +282,9 @@ struct netif {
u32_t ip6_addr_valid_life[LWIP_IPV6_NUM_ADDRESSES];
u32_t ip6_addr_pref_life[LWIP_IPV6_NUM_ADDRESSES];
#endif /* LWIP_IPV6_ADDRESS_LIFETIMES */
#ifdef CONFIG_ENABLE_IPV6_ADDR_CALLBACK
void (*ipv6_addr_cb)(struct netif *netif, u8_t ip_index);
#endif
#endif /* LWIP_IPV6 */
/** This function is called by the network device driver
* to pass a packet up the TCP/IP stack. */

View File

@ -2745,6 +2745,10 @@
#define LWIP_HOOK_FILENAME "path/to/my/lwip_hooks.h"
#endif
#ifdef CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT
#define LWIP_HOOK_FILENAME "lwip_default_hooks.h"
#endif
/**
* LWIP_HOOK_TCP_ISN:
* Hook for generation of the Initial Sequence Number (ISN) for a new TCP

View File

@ -6,8 +6,9 @@
#include <ethernetif.h>
#include <bl_wifi.h>
#include <utils_hex.h>
// #include <semphr.h>
// #include <aos/kernel.h>
#include <semphr.h>
#include <aos/kernel.h>
#include <aos/yloop.h>
#include <bl_os_private.h>
#include "bl_main.h"
@ -97,6 +98,20 @@ static int mac_is_unvalid(uint8_t mac[6])
return 0;
}
#ifdef CONFIG_ENABLE_IPV6_ADDR_CALLBACK
static void netif_nd6_callback(struct netif *netif, uint8_t ip_index)
{
aos_post_event(EV_WIFI, CODE_WIFI_ON_GOT_IP6, 0);
}
void nd6_set_cb(struct netif *netif, void (*cb)(struct netif *netif, u8_t ip_index))
{
if (netif != NULL) {
netif->ipv6_addr_cb = cb;
}
}
#endif
static void wifi_eth_sta_enable(struct netif *netif, uint8_t mac[6])
{
ip4_addr_t ipaddr;
@ -145,6 +160,11 @@ static void wifi_eth_sta_enable(struct netif *netif, uint8_t mac[6])
* your ethernet netif interface. The following code illustrates it's use.*/
netifapi_netif_add(netif, &ipaddr, &netmask, &gw, NULL, &bl606a0_wifi_netif_init, &tcpip_input);
#ifdef CONFIG_ENABLE_IPV6_ADDR_CALLBACK
nd6_set_cb(netif, netif_nd6_callback);
#endif
netif->name[0] = 's';
netif->name[1] = 't';
netif->flags |= NETIF_FLAG_LINK_UP | NETIF_FLAG_IGMP;

View File

@ -55,6 +55,7 @@ extern "C" {
#define CODE_WIFI_ON_AP_STA_ADD 21
#define CODE_WIFI_ON_AP_STA_DEL 22
#define CODE_WIFI_ON_EMERGENCY_MAC 23
#define CODE_WIFI_ON_GOT_IP6 24
/* Network Event */
#define EV_NETWORK EV_WIFI

8
tools/debug/616/616.init Normal file
View File

@ -0,0 +1,8 @@
set architecture riscv:rv32
#target remote :1025
#set disassemble-next-line on
set mem inaccessible-by-default off
#mon gdb_breakpoint_override [hard|soft|disable]
mem 0x90000000 0x90020000 ro
mem 0xA0000000 0xA8000000 ro

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -11,33 +11,36 @@ basic download config:
--interface1.uart, 2.jlink, 3.cklink, 4.openocd, default is uart
--portserial port or jlink serial number
--baudratebaudrate of serial port, default is 115200
--xtalxtal on the board,for bl602,1:24M,2:32M,3:38.4M,4:40M(default value when not specified),5:26M. for bl702,1:32M(default value when not specified)
for bl616,just use value 7(auto adjust)
--configeflash loader configuration file,default is chips\blXXXX\eflash_loader\eflash_loader_cfg.ini
--otadir of ota file,default is chips\blXXXX\ota
--xtalxtal on the board, for bl602,1:24M,2:32M,3:38.4M,4:40M(default value when not specified),5:26M; for bl702,1:32M(default value when not specified); for bl616, just use value 7(auto adjust)
--configeflash loader configuration file, default is chips/blXXXX/eflash_loader/eflash_loader_cfg.ini
--otadir of ota file, default is chips/blXXXX/ota
files for download:
1.scattered files:
1. scattered files:
--firmwaremandatory, select the firmware binary file which your sdk build out
--dtsoptional,select the device tree file you used
--ptmandatory,partition table of flash, default is located in chips/chipname/partition
--boot2mandatory,boot2 binary file as bootloader, default is located in chips/chipname/builtin_imgs/boot2_isp_xxxxx
--dtsoptional, select the device tree file you used
--ptmandatory, partition table of flash, default is located in chips/chipname/partition
--boot2mandatory, boot2 binary file as bootloader, default is located in chips/chipname/builtin_imgs/boot2_isp_xxxxx
--mfgoptional, mfg binary file, only use when do RF test
--romfsoptional, romfs dir to create romfs.bin
2.one whole image file:
2. one whole image file:
--addraddress to program, default is 0
--singlethe single file to be programmed ,the tool will add nothing for this file
--singlethe single file to be programmed, the tool will add nothing for this file
other options:
--buildbuild image only,not program into flash
--buildbuild image only, not program into flash
--keyaes encrypt key
--ivaes encrypt iv
--pkecc sign public key
--sk: ecc sign private key
EXAMPLE:
bflb_iot_tool.exe --chipname=bl602 --port=COM28 --baudrate=2000000 --firmware="helloworld_bl602.bin" --pt="chips\bl602\partition\partition_cfg_2M.toml" --dts="chips\bl602\device_tree\bl_factory_params_IoTKitA_40M.dts"
bflb_iot_tool.exe --chipname=bl602 --port=COM28 --baudrate=2000000 --firmware="helloworld_bl602.bin" --pt="chips\bl602\partition\partition_cfg_2M.toml" --dts="chips\bl602\device_tree\bl_factory_params_IoTKitA_40M.dts" --build
bflb_iot_tool.exe --chipname=bl602 --port=COM28 --baudrate=2000000 --firmware="helloworld_bl602.bin" --pt="chips/bl602/partition/partition_cfg_2M.toml" --dts="chips/bl602/device_tree/bl_factory_params_IoTKitA_40M.dts"
bflb_iot_tool.exe --chipname=bl602 --port=COM28 --baudrate=2000000 --firmware="helloworld_bl602.bin" --pt="chips/bl602/partition/partition_cfg_2M.toml" --dts="chips/bl602/device_tree/bl_factory_params_IoTKitA_40M.dts" --build
bflb_iot_tool.exe --chipname=bl602 --port=COM28 --baudrate=2000000 --addr=0x0 --firmware="helloworld_bl602.bin" --single

View File

@ -17,6 +17,10 @@ Bouffalolab Iot Command Tool
--addraddress to write, default is 0
--configeflash loader configuration file
--otadir of ota file
--keyaes encrypt key
--ivaes encrypt iv
--pkecc sign public key
--sk: ecc sign private key
EXAMPLE:
bflb_iot_tool.exe --chipname=bl702 --port=COM28 --baudrate=2000000 --firmware="helloworld_bl702.bin" --dts="bl_factory_params_IoTKitA_None.dts"

View File

@ -37,6 +37,8 @@ local_log = false
verify = 0
tx_size = 2056
cpu_reset_after_load = false
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0

View File

@ -35,6 +35,8 @@ tx_size = 4104
cpu_reset_after_load = false
#empty for auto, otherwise specified clock para file path: eg: chips/bl606p/efuse_bootheader/clock_para.bin
clock_para = chips/bl606p/efuse_bootheader/clock_para.bin
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0

View File

@ -35,6 +35,8 @@ tx_size = 2056
cpu_reset_after_load = false
#empty for auto, otherwise specified clock para file path: eg: chips/bl616/efuse_bootheader/clock_para.bin
clock_para = chips/bl616/efuse_bootheader/clock_para.bin
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0

View File

@ -315,7 +315,7 @@ cmds_en = 1
#1:cmds handle wrap commands, original mode;
#2:cmds bypass wrap commands to macro, cmds force wrap16*4 splitted into two wrap8*4;
#3:cmds handle wrap commands, cmds force wrap16*4 splitted into two wrap8*4
cmds_wrap_mode=2
cmds_wrap_mode = 2
#0:SF_CTRL_WRAP_LEN_8, 1:SF_CTRL_WRAP_LEN_16, 2:SF_CTRL_WRAP_LEN_32,
#3:SF_CTRL_WRAP_LEN_64, 9: SF_CTRL_WRAP_LEN_4096
cmds_wrap_len = 2

View File

@ -25,9 +25,9 @@ type = 0
name = "FW"
device = 0
address0 = 0x10000
size0 = 0xE0000
address1 = 0xF0000
size1 = 0x80000
size0 = 0xC8000
address1 = 0xD8000
size1 = 0x88000
# compressed image must set len,normal image can left it to 0
len = 0
# If header is 1, it will add the header.
@ -39,8 +39,8 @@ security= 1
type = 10
name = "mfg"
device = 0
address0 = 0xE0000
size0 = 0x80000
address0 = 0xD8000
size0 = 0x88000
address1 = 0
size1 = 0
# compressed image must set len,normal image can left it to 0

View File

@ -25,8 +25,8 @@ type = 0
name = "FW"
device = 0
address0 = 0x10000
size0 = 0x1F8000
address1 = 0x208000
size0 = 0x200000
address1 = 0x210000
size1 = 0x168000
# compressed image must set len,normal image can left it to 0
len = 0
@ -39,7 +39,7 @@ security= 1
type = 10
name = "mfg"
device = 0
address0 = 0x208000
address0 = 0x210000
size0 = 0x168000
address1 = 0
size1 = 0
@ -54,7 +54,7 @@ security= 1
type = 2
name = "media"
device = 0
address0 = 0x370000
address0 = 0x378000
size0 = 0x79000
address1 = 0
size1 = 0
@ -69,7 +69,7 @@ security= 0
type = 3
name = "PSM"
device = 0
address0 = 0x3E9000
address0 = 0x3F1000
size0 = 0x8000
address1 = 0
size1 = 0
@ -84,7 +84,7 @@ security= 0
type = 4
name = "KEY"
device = 0
address0 = 0x3F1000
address0 = 0x3F9000
size0 = 0x2000
address1 = 0
size1 = 0
@ -99,7 +99,7 @@ security= 0
type = 5
name = "DATA"
device = 0
address0 = 0x3F3000
address0 = 0x3FB000
size0 = 0x5000
address1 = 0
size1 = 0
@ -109,18 +109,3 @@ len = 0
header = 0
# If header is 1 and security is 1, It will be encrypted.
security = 0
[[pt_entry]]
type = 6
name = "factory"
device = 0
address0 = 0x3F8000
size0 = 0x8000
address1 = 0
size1 = 0
# compressed image must set len,normal image can left it to 0
len = 0
# If header is 1, it will add the header.
header = 0
# If header is 1 and security is 1, It will be encrypted.
security= 0

View File

@ -36,6 +36,8 @@ local_log = false
verify = 0
tx_size = 2056
cpu_reset_after_load = false
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0

View File

@ -35,6 +35,8 @@ tx_size = 4104
cpu_reset_after_load = false
#empty for auto, otherwise specified clock para file path: eg: chips/bl808/efuse_bootheader/clock_para.bin
clock_para = chips/bl808/efuse_bootheader/clock_para.bin
#skip mode set first para is skip addr, second para is skip len
skip_mode = 0x0, 0x0
boot2_isp_mode = 0
isp_mode_speed = 2000000
isp_shakehand_timeout = 0

View File

@ -8,7 +8,15 @@ del /a /f /s /q "partition.bin"
del /a /f /s /q "ro_params.dtb"
del /a /f /s /q "efusedata.bin"
del /a /f /s /q "efusedata_mask.bin"
rd /s /Q .\docs\tg6210a
rd /s /Q .\chips\bl60x
rd /s /Q .\chips\bl56x
rd /s /Q .\chips\bl562
rd /s /Q .\chips\bl702l
rd /s /Q .\chips\wb03
rd /s /Q .\utils\flash\bl60x
rd /s /Q .\utils\flash\bl702l
rd /s /Q .\utils\flash\wb03
del /a /f /s /q .\chips\bl56x\img_create_iot\*.bin
del /a /f /s /q .\chips\bl60x\img_create_iot\*.bin
del /a /f /s /q .\chips\bl562\img_create_iot\*.bin
@ -18,7 +26,6 @@ del /a /f /s /q .\chips\bl808\img_create_iot\*.bin
del /a /f /s /q .\chips\bl606p\img_create_iot\*.bin
del /a /f /s /q .\chips\bl616\img_create_iot\*.bin
del /a /f /s /q .\chips\wb03\img_create_iot\*.bin
del /a /f /s /q .\chips\bl56x\img_create_mcu\*.bin
del /a /f /s /q .\chips\bl60x\img_create_mcu\*.bin
del /a /f /s /q .\chips\bl562\img_create_mcu\*.bin
@ -28,7 +35,6 @@ del /a /f /s /q .\chips\bl808\img_create_mcu\*.bin
del /a /f /s /q .\chips\bl606p\img_create_mcu\*.bin
del /a /f /s /q .\chips\bl616\img_create_mcu\*.bin
del /a /f /s /q .\chips\wb03\img_create_mcu\*.bin
del /a /f /s /q .\chips\bl56x\img_create_linux\*.bin
del /a /f /s /q .\chips\bl60x\img_create_linux\*.bin
del /a /f /s /q .\chips\bl562\img_create_linux\*.bin
@ -38,7 +44,6 @@ del /a /f /s /q .\chips\bl808\img_create_linux\*.bin
del /a /f /s /q .\chips\bl606p\img_create_linux\*.bin
del /a /f /s /q .\chips\bl616\img_create_linux\*.bin
del /a /f /s /q .\chips\wb03\img_create_linux\*.bin
del /a /f /s /q .\chips\bl56x\efuse_bootheader\*.bin
del /a /f /s /q .\chips\bl60x\efuse_bootheader\*.bin
del /a /f /s /q .\chips\bl562\efuse_bootheader\*.bin
@ -48,27 +53,18 @@ del /a /f /s /q .\chips\bl808\efuse_bootheader\*.bin
del /a /f /s /q .\chips\bl606p\efuse_bootheader\*.bin
del /a /f /s /q .\chips\bl616\efuse_bootheader\*.bin
del /a /f /s /q .\chips\wb03\efuse_bootheader\*.bin
del /a /f /s /q .\chips\*.pack
rd /s /Q .\chips\bl56x\ota
rd /s /Q .\chips\bl60x\ota
rd /s /Q .\chips\bl562\ota
rd /s /Q .\chips\bl602\ota
rd /s /Q .\chips\bl702\ota
rd /s /Q .\chips\bl808\ota
rd /s /Q .\chips\bl606p\ota
rd /s /Q .\chips\bl616\ota
rd /s /Q .\chips\wb03\ota
rd /s /Q .\chips\bl606p\test_bin
rd /s /Q .\chips\bl808\test_bin
rd /s /Q .\chips\bl56x
rd /s /Q .\chips\bl60x
rd /s /Q .\chips\bl562
rd /s /Q .\chips\bl702l
rd /s /Q .\chips\wb03
rd /s /Q .\utils\flash\bl60x
rd /s /Q .\utils\flash\bl702l
rd /s /Q .\utils\flash\wb03
del /a /f /s /q ".DS_Store"
del /a /f /s /q "._.DS_Store"
pause
exit

View File

@ -0,0 +1,73 @@
[FLASH_CFG]
exit_contread_cmd = 0xff
exit_contread_cmd_size = 3
mfg_id = 0x85
io_mode = 4
de_burst_wrap_cmd = 0x77
de_burst_wrap_cmd_dmy_clk = 0x03
de_burst_wrap_code_mode = 2
de_burst_wrap_code = 0xF0
write_enable_cmd = 0x06
wel_reg_index = 0
wel_bit_pos = 1
wel_reg_read_len = 1
wel_reg_write_len = 2
qe_reg_index = 1
qe_bit_pos = 1
qe_reg_write_len = 1
qe_reg_read_len = 1
busy_reg_index = 0
busy_bit_pos = 0
busy_reg_read_len = 1
release_power_down = 0xab
reg_read_cmd0 = 0x05
reg_read_cmd1 = 0x35
reg_write_cmd0 = 0x01
reg_write_cmd1 = 0x31
fast_read_qio_cmd = 0xeb
fast_read_qio_dmy_clk = 2
cont_read_support = 1
cont_read_code = 0xa0
burst_wrap_cmd = 0x77
burst_wrap_dmy_clk = 0x03
burst_wrap_data_mode = 2
burst_wrap_code = 0x40
chip_erase_cmd = 0xc7
sector_erase_cmd = 0x20
blk32k_erase_cmd = 0x52
blk64k_erase_cmd = 0xd8
page_prog_cmd = 0x02
qpage_prog_cmd = 0x32
qual_page_prog_addr_mode = 0
reset_en_cmd = 0x66
reset_cmd = 0x99
cont_read_exit_code = 0xff
jedecid_cmd = 0x9f
jedecid_cmd_dmy_clk = 0
enter_32bits_addr_cmd = 0xb7
exit_32bits_addr_clk = 0xe9
sector_size = 4
page_size = 256
fast_read_cmd = 0x0b
fast_read_dmy_clk = 1
qpi_fast_read_cmd = 0x0b
qpi_fast_read_dmy_clk = 1
fast_read_do_cmd = 0x3b
fast_read_do_dmy_clk = 1
fast_read_dio_cmd = 0xbb
fast_read_dio_dmy_clk = 0
fast_read_qo_cmd = 0x6b
fast_read_qo_dmy_clk = 1
qpi_fast_read_qio_cmd = 0xeb
qpi_fast_read_qio_dmy_clk = 2
qpi_page_prog_cmd = 0x02
write_vreg_enable_cmd = 0x50
enter_qpi_cmd = 0x38
exit_qpi_cmd = 0xff
sector_erase_time = 300
blk32k_erase_time = 1200
blk64k_erase_time = 1200
page_prog_time = 5
chip_erase_time = 33000
power_down_delay = 8
qe_data = 0

View File

@ -0,0 +1,73 @@
[FLASH_CFG]
exit_contread_cmd = 0xff
exit_contread_cmd_size = 3
mfg_id = 0x85
io_mode = 4
de_burst_wrap_cmd = 0x77
de_burst_wrap_cmd_dmy_clk = 0x03
de_burst_wrap_code_mode = 2
de_burst_wrap_code = 0xF0
write_enable_cmd = 0x06
wel_reg_index = 0
wel_bit_pos = 1
wel_reg_read_len = 1
wel_reg_write_len = 2
qe_reg_index = 1
qe_bit_pos = 1
qe_reg_write_len = 1
qe_reg_read_len = 1
busy_reg_index = 0
busy_bit_pos = 0
busy_reg_read_len = 1
release_power_down = 0xab
reg_read_cmd0 = 0x05
reg_read_cmd1 = 0x35
reg_write_cmd0 = 0x01
reg_write_cmd1 = 0x31
fast_read_qio_cmd = 0xeb
fast_read_qio_dmy_clk = 2
cont_read_support = 1
cont_read_code = 0xa0
burst_wrap_cmd = 0x77
burst_wrap_dmy_clk = 0x03
burst_wrap_data_mode = 2
burst_wrap_code = 0x40
chip_erase_cmd = 0xc7
sector_erase_cmd = 0x20
blk32k_erase_cmd = 0x52
blk64k_erase_cmd = 0xd8
page_prog_cmd = 0x02
qpage_prog_cmd = 0x32
qual_page_prog_addr_mode = 0
reset_en_cmd = 0x66
reset_cmd = 0x99
cont_read_exit_code = 0xff
jedecid_cmd = 0x9f
jedecid_cmd_dmy_clk = 0
enter_32bits_addr_cmd = 0xb7
exit_32bits_addr_clk = 0xe9
sector_size = 4
page_size = 256
fast_read_cmd = 0x0b
fast_read_dmy_clk = 1
qpi_fast_read_cmd = 0x0b
qpi_fast_read_dmy_clk = 1
fast_read_do_cmd = 0x3b
fast_read_do_dmy_clk = 1
fast_read_dio_cmd = 0xbb
fast_read_dio_dmy_clk = 0
fast_read_qo_cmd = 0x6b
fast_read_qo_dmy_clk = 1
qpi_fast_read_qio_cmd = 0xeb
qpi_fast_read_qio_dmy_clk = 2
qpi_page_prog_cmd = 0x02
write_vreg_enable_cmd = 0x50
enter_qpi_cmd = 0x38
exit_qpi_cmd = 0xff
sector_erase_time = 300
blk32k_erase_time = 1200
blk64k_erase_time = 1200
page_prog_time = 5
chip_erase_time = 33000
power_down_delay = 8
qe_data = 0

View File

@ -64,6 +64,8 @@ c22539,MX25L256_c22019.conf
856014,W25Q80DV_ef4014.conf
856015,W25Q80DV_ef4014.conf
856016,W25Q16JV_ef4015.conf
856017,W25Q16JV_ef4015.conf
856018,W25Q16JV_ef4015.conf
9d6014,IS25LP080D_9d6014.conf
9d6015,IS25LP080D_9d6014.conf
9d6016,IS25LP080D_9d6014.conf

1 flashJedecID configFile
64 856014 W25Q80DV_ef4014.conf
65 856015 W25Q80DV_ef4014.conf
66 856016 W25Q16JV_ef4015.conf
67 856017 W25Q16JV_ef4015.conf
68 856018 W25Q16JV_ef4015.conf
69 9d6014 IS25LP080D_9d6014.conf
70 9d6015 IS25LP080D_9d6014.conf
71 9d6016 IS25LP080D_9d6014.conf

View File

@ -0,0 +1,73 @@
[FLASH_CFG]
exit_contread_cmd = 0xff
exit_contread_cmd_size = 3
mfg_id = 0x85
io_mode = 4
de_burst_wrap_cmd = 0x77
de_burst_wrap_cmd_dmy_clk = 0x03
de_burst_wrap_code_mode = 2
de_burst_wrap_code = 0xF0
write_enable_cmd = 0x06
wel_reg_index = 0
wel_bit_pos = 1
wel_reg_read_len = 1
wel_reg_write_len = 2
qe_reg_index = 1
qe_bit_pos = 1
qe_reg_write_len = 1
qe_reg_read_len = 1
busy_reg_index = 0
busy_bit_pos = 0
busy_reg_read_len = 1
release_power_down = 0xab
reg_read_cmd0 = 0x05
reg_read_cmd1 = 0x35
reg_write_cmd0 = 0x01
reg_write_cmd1 = 0x31
fast_read_qio_cmd = 0xeb
fast_read_qio_dmy_clk = 2
cont_read_support = 1
cont_read_code = 0xa0
burst_wrap_cmd = 0x77
burst_wrap_dmy_clk = 0x03
burst_wrap_data_mode = 2
burst_wrap_code = 0x40
chip_erase_cmd = 0xc7
sector_erase_cmd = 0x20
blk32k_erase_cmd = 0x52
blk64k_erase_cmd = 0xd8
page_prog_cmd = 0x02
qpage_prog_cmd = 0x32
qual_page_prog_addr_mode = 0
reset_en_cmd = 0x66
reset_cmd = 0x99
cont_read_exit_code = 0xff
jedecid_cmd = 0x9f
jedecid_cmd_dmy_clk = 0
enter_32bits_addr_cmd = 0xb7
exit_32bits_addr_clk = 0xe9
sector_size = 4
page_size = 256
fast_read_cmd = 0x0b
fast_read_dmy_clk = 1
qpi_fast_read_cmd = 0x0b
qpi_fast_read_dmy_clk = 1
fast_read_do_cmd = 0x3b
fast_read_do_dmy_clk = 1
fast_read_dio_cmd = 0xbb
fast_read_dio_dmy_clk = 0
fast_read_qo_cmd = 0x6b
fast_read_qo_dmy_clk = 1
qpi_fast_read_qio_cmd = 0xeb
qpi_fast_read_qio_dmy_clk = 2
qpi_page_prog_cmd = 0x02
write_vreg_enable_cmd = 0x50
enter_qpi_cmd = 0x38
exit_qpi_cmd = 0xff
sector_erase_time = 300
blk32k_erase_time = 1200
blk64k_erase_time = 1200
page_prog_time = 5
chip_erase_time = 33000
power_down_delay = 8
qe_data = 0

View File

@ -0,0 +1,73 @@
[FLASH_CFG]
exit_contread_cmd = 0xff
exit_contread_cmd_size = 3
mfg_id = 0x85
io_mode = 4
de_burst_wrap_cmd = 0x77
de_burst_wrap_cmd_dmy_clk = 0x03
de_burst_wrap_code_mode = 2
de_burst_wrap_code = 0xF0
write_enable_cmd = 0x06
wel_reg_index = 0
wel_bit_pos = 1
wel_reg_read_len = 1
wel_reg_write_len = 2
qe_reg_index = 1
qe_bit_pos = 1
qe_reg_write_len = 1
qe_reg_read_len = 1
busy_reg_index = 0
busy_bit_pos = 0
busy_reg_read_len = 1
release_power_down = 0xab
reg_read_cmd0 = 0x05
reg_read_cmd1 = 0x35
reg_write_cmd0 = 0x01
reg_write_cmd1 = 0x31
fast_read_qio_cmd = 0xeb
fast_read_qio_dmy_clk = 2
cont_read_support = 1
cont_read_code = 0xa0
burst_wrap_cmd = 0x77
burst_wrap_dmy_clk = 0x03
burst_wrap_data_mode = 2
burst_wrap_code = 0x40
chip_erase_cmd = 0xc7
sector_erase_cmd = 0x20
blk32k_erase_cmd = 0x52
blk64k_erase_cmd = 0xd8
page_prog_cmd = 0x02
qpage_prog_cmd = 0x32
qual_page_prog_addr_mode = 0
reset_en_cmd = 0x66
reset_cmd = 0x99
cont_read_exit_code = 0xff
jedecid_cmd = 0x9f
jedecid_cmd_dmy_clk = 0
enter_32bits_addr_cmd = 0xb7
exit_32bits_addr_clk = 0xe9
sector_size = 4
page_size = 256
fast_read_cmd = 0x0b
fast_read_dmy_clk = 1
qpi_fast_read_cmd = 0x0b
qpi_fast_read_dmy_clk = 1
fast_read_do_cmd = 0x3b
fast_read_do_dmy_clk = 1
fast_read_dio_cmd = 0xbb
fast_read_dio_dmy_clk = 0
fast_read_qo_cmd = 0x6b
fast_read_qo_dmy_clk = 1
qpi_fast_read_qio_cmd = 0xeb
qpi_fast_read_qio_dmy_clk = 2
qpi_page_prog_cmd = 0x02
write_vreg_enable_cmd = 0x50
enter_qpi_cmd = 0x38
exit_qpi_cmd = 0xff
sector_erase_time = 300
blk32k_erase_time = 1200
blk64k_erase_time = 1200
page_prog_time = 5
chip_erase_time = 33000
power_down_delay = 8
qe_data = 0

View File

@ -0,0 +1,73 @@
[FLASH_CFG]
exit_contread_cmd = 0xff
exit_contread_cmd_size = 3
mfg_id = 0x85
io_mode = 4
de_burst_wrap_cmd = 0x77
de_burst_wrap_cmd_dmy_clk = 0x03
de_burst_wrap_code_mode = 2
de_burst_wrap_code = 0xF0
write_enable_cmd = 0x06
wel_reg_index = 0
wel_bit_pos = 1
wel_reg_read_len = 1
wel_reg_write_len = 2
qe_reg_index = 1
qe_bit_pos = 1
qe_reg_write_len = 1
qe_reg_read_len = 1
busy_reg_index = 0
busy_bit_pos = 0
busy_reg_read_len = 1
release_power_down = 0xab
reg_read_cmd0 = 0x05
reg_read_cmd1 = 0x35
reg_write_cmd0 = 0x01
reg_write_cmd1 = 0x31
fast_read_qio_cmd = 0xeb
fast_read_qio_dmy_clk = 2
cont_read_support = 1
cont_read_code = 0xa0
burst_wrap_cmd = 0x77
burst_wrap_dmy_clk = 0x03
burst_wrap_data_mode = 2
burst_wrap_code = 0x40
chip_erase_cmd = 0xc7
sector_erase_cmd = 0x20
blk32k_erase_cmd = 0x52
blk64k_erase_cmd = 0xd8
page_prog_cmd = 0x02
qpage_prog_cmd = 0x32
qual_page_prog_addr_mode = 0
reset_en_cmd = 0x66
reset_cmd = 0x99
cont_read_exit_code = 0xff
jedecid_cmd = 0x9f
jedecid_cmd_dmy_clk = 0
enter_32bits_addr_cmd = 0xb7
exit_32bits_addr_clk = 0xe9
sector_size = 4
page_size = 256
fast_read_cmd = 0x0b
fast_read_dmy_clk = 1
qpi_fast_read_cmd = 0x0b
qpi_fast_read_dmy_clk = 1
fast_read_do_cmd = 0x3b
fast_read_do_dmy_clk = 1
fast_read_dio_cmd = 0xbb
fast_read_dio_dmy_clk = 0
fast_read_qo_cmd = 0x6b
fast_read_qo_dmy_clk = 1
qpi_fast_read_qio_cmd = 0xeb
qpi_fast_read_qio_dmy_clk = 2
qpi_page_prog_cmd = 0x02
write_vreg_enable_cmd = 0x50
enter_qpi_cmd = 0x38
exit_qpi_cmd = 0xff
sector_erase_time = 300
blk32k_erase_time = 1200
blk64k_erase_time = 1200
page_prog_time = 5
chip_erase_time = 33000
power_down_delay = 8
qe_data = 0

View File

@ -49,4 +49,7 @@ c22539,MX25L256_c22019.conf
684015,GD25Q32C_c84016.conf
684016,GD25Q32C_c84016.conf
684017,GD25Q32C_c84016.conf
684018,GD25Q32C_c84016.conf
684018,GD25Q32C_c84016.conf
856016,W25Q16JV_ef4015.conf
856017,W25Q16JV_ef4015.conf
856018,W25Q16JV_ef4015.conf
1 flashJedecID configFile
49 684015 GD25Q32C_c84016.conf
50 684016 GD25Q32C_c84016.conf
51 684017 GD25Q32C_c84016.conf
52 684018 GD25Q32C_c84016.conf
53 856016 W25Q16JV_ef4015.conf
54 856017 W25Q16JV_ef4015.conf
55 856018 W25Q16JV_ef4015.conf