From 6492c2959cbea6dd6d46fc64267b88c19cf14e8a Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 18 Nov 2010 23:06:43 +0100 Subject: req_ctx: Increase size of small req_ctx to 128 and have 16 instead of 8 This is required to deal with bursts in SIM comminication while using the SIMTRACE firmware --- firmware/src/os/req_ctx.c | 4 ++-- firmware/src/os/req_ctx.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'firmware/src/os') diff --git a/firmware/src/os/req_ctx.c b/firmware/src/os/req_ctx.c index 73b6035..0e4816e 100644 --- a/firmware/src/os/req_ctx.c +++ b/firmware/src/os/req_ctx.c @@ -29,8 +29,8 @@ /* FIXME: locking, FIFO order processing */ #ifdef __AT91SAM7S64__ -#define NUM_RCTX_SMALL 4 -#define NUM_RCTX_LARGE 2 +#define NUM_RCTX_SMALL 16 +#define NUM_RCTX_LARGE 1 #else #define NUM_RCTX_SMALL 8 #define NUM_RCTX_LARGE 4 diff --git a/firmware/src/os/req_ctx.h b/firmware/src/os/req_ctx.h index ac9ab3f..94b5c5a 100644 --- a/firmware/src/os/req_ctx.h +++ b/firmware/src/os/req_ctx.h @@ -2,7 +2,7 @@ #define _REQ_CTX_H #define RCTX_SIZE_LARGE 2048 -#define RCTX_SIZE_SMALL 64 +#define RCTX_SIZE_SMALL 128 #define MAX_HDRSIZE sizeof(struct openpcd_hdr) #define MAX_REQSIZE (64-MAX_HDRSIZE) -- cgit v1.2.3 From cda126a7ef6fbb54a18a4786c15117800a13f7b3 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 16 Jun 2011 21:16:13 +0200 Subject: simtrace: add support for the analog bus switch --- firmware/Makefile | 3 +- firmware/src/os/dbgu.c | 2 +- firmware/src/simtrace/main_simtrace.c | 11 ++++- firmware/src/simtrace/sim_switch.c | 76 +++++++++++++++++++++++++++++++++++ firmware/src/simtrace/sim_switch.h | 7 ++++ 5 files changed, 96 insertions(+), 3 deletions(-) create mode 100644 firmware/src/simtrace/sim_switch.c create mode 100644 firmware/src/simtrace/sim_switch.h (limited to 'firmware/src/os') diff --git a/firmware/Makefile b/firmware/Makefile index 57c983e..9a95d44 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -115,7 +115,8 @@ endif ifeq ($(BOARD), SIMTRACE) SUBMDL = AT91SAM7S256 TARGET := main_simtrace -SRCARM += src/simtrace/iso7816_uart.c src/simtrace/tc_etu.c +SRCARM += src/simtrace/iso7816_uart.c src/simtrace/tc_etu.c \ + src/simtrace/sim_switch.c SRCARM += src/simtrace/$(TARGET).c endif diff --git a/firmware/src/os/dbgu.c b/firmware/src/os/dbgu.c index 026b56b..28d86a4 100644 --- a/firmware/src/os/dbgu.c +++ b/firmware/src/os/dbgu.c @@ -147,7 +147,7 @@ void AT91F_DBGU_Init(void) sysirq_register(AT91SAM7_SYSIRQ_DBGU, &DBGU_irq_handler); AT91F_DBGU_Printk("\n\r"); - AT91F_DBGU_Printk("(C) 2006 by Harald Welte \n\r" + AT91F_DBGU_Printk("(C) 2006-2011 by Harald Welte \n\r" "This software is FREE SOFTWARE licensed under GNU GPL\n\r"); AT91F_DBGU_Printk("Version " COMPILE_SVNREV " compiled " COMPILE_DATE diff --git a/firmware/src/simtrace/main_simtrace.c b/firmware/src/simtrace/main_simtrace.c index 740d35d..581fd59 100644 --- a/firmware/src/simtrace/main_simtrace.c +++ b/firmware/src/simtrace/main_simtrace.c @@ -31,6 +31,7 @@ #include #include +#include void _init_func(void) { @@ -38,6 +39,7 @@ void _init_func(void) pio_irq_init(); iso_uart_init(); tc_etu_init(); + sim_switch_init(); usbtest_init(); @@ -55,7 +57,9 @@ static void help(void) "c: toggle clock master/slave\r\n" "l: set nRST to low (active)\r\n" "h: set nRST to high (inactive)\r\n" - "o: set nRST to input\r\n"); + "o: set nRST to input\r\n" + "s: disconnect SIM bus switch\r\n" + "S: connect SIM bus switch\r\n"); } int _main_dbgu(char key) @@ -64,6 +68,11 @@ int _main_dbgu(char key) DEBUGPCRF("main_dbgu"); switch (key) { + case 's': + sim_switch_mode(0, 0); + break; + case 'S': + sim_switch_mode(1, 1); case 'r': iso_uart_rx_mode(); break; diff --git a/firmware/src/simtrace/sim_switch.c b/firmware/src/simtrace/sim_switch.c new file mode 100644 index 0000000..4f5621c --- /dev/null +++ b/firmware/src/simtrace/sim_switch.c @@ -0,0 +1,76 @@ +/* + * (C) 2011 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include "../simtrace.h" +#include "../openpcd.h" + +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + +void sim_switch_mode(int connect_io, int connect_misc) +{ + if (connect_io) + AT91F_PIO_SetOutput(AT91C_BASE_PIOA, SIMTRACE_PIO_IO_SW); + else + AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, SIMTRACE_PIO_IO_SW); + + if (connect_misc) + AT91F_PIO_SetOutput(AT91C_BASE_PIOA, SIMTRACE_PIO_SC_SW); + else + AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, SIMTRACE_PIO_SC_SW); +} + +static void sw_sim_irq(u_int32_t pio) +{ + + if (!AT91F_PIO_IsInputSet(AT91C_BASE_PIOA, pio)) + DEBUGPCR("SIM card inserted"); + else + DEBUGPCR("SIM card removed"); +} + +void sim_switch_init(void) +{ + DEBUGPCR("ISO_SW Initializing"); + + /* make sure we get clock from the power management controller */ + AT91F_US0_CfgPMC(); + + /* configure both signals as output */ + AT91F_PIO_CfgOutput(AT91C_BASE_PIOA, SIMTRACE_PIO_SC_SW | + SIMTRACE_PIO_IO_SW); + + /* configure sim card detect */ + AT91F_PIO_CfgInput(AT91C_BASE_PIOA, SIMTRACE_PIO_SW_SIM); + AT91F_PIO_CfgInputFilter(AT91C_BASE_PIOA, SIMTRACE_PIO_SW_SIM); + pio_irq_register(SIMTRACE_PIO_SW_SIM, &sw_sim_irq); + pio_irq_enable(SIMTRACE_PIO_SW_SIM); +} diff --git a/firmware/src/simtrace/sim_switch.h b/firmware/src/simtrace/sim_switch.h new file mode 100644 index 0000000..01a6a66 --- /dev/null +++ b/firmware/src/simtrace/sim_switch.h @@ -0,0 +1,7 @@ +#ifndef SIMTRACE_ISO_SW_H +#define SIMTRACE_ISO_SW_H + +void sim_switch_mode(int connect_io, int connect_misc); +void sim_switch_init(void); + +#endif -- cgit v1.2.3 From a23eefc6dc5f45498116f69125f6e12f53a81130 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 7 Jul 2011 17:43:55 +0200 Subject: USB driver: use the DFU-provided function to send EP0 data There is no point in replicating the functionality that already exists in the DFU section of the flash --- firmware/src/os/pcd_enumerate.c | 49 +---------------------------------------- 1 file changed, 1 insertion(+), 48 deletions(-) (limited to 'firmware/src/os') diff --git a/firmware/src/os/pcd_enumerate.c b/firmware/src/os/pcd_enumerate.c index b4392c0..a195267 100644 --- a/firmware/src/os/pcd_enumerate.c +++ b/firmware/src/os/pcd_enumerate.c @@ -78,7 +78,7 @@ #ifdef CONFIG_DFU static const struct dfuapi *dfu = DFU_API_LOCATION; #define udp_init dfu->udp_init -//#define udp_ep0_send_data dfu->ep0_send_data +#define udp_ep0_send_data dfu->ep0_send_data #define udp_ep0_send_zlp dfu->ep0_send_zlp #define udp_ep0_send_stall dfu->ep0_send_stall #else @@ -107,53 +107,6 @@ static const struct epstate epstate[] = { .state_pending = RCTX_STATE_UDP_EP3_PENDING }, }; -/* Send Data through the control endpoint */ -static void udp_ep0_send_data(const char *pData, u_int32_t length) -{ - AT91PS_UDP pUdp = AT91C_BASE_UDP; - u_int32_t cpt = 0; - AT91_REG csr; - - DEBUGE("send_data: %u bytes ", length); - - do { - cpt = MIN(length, 8); - length -= cpt; - - DEBUGE("fifo_fill "); - while (cpt--) - pUdp->UDP_FDR[0] = *pData++; - - if (pUdp->UDP_CSR[0] & AT91C_UDP_TXCOMP) { - DEBUGE("wait_txcomp_clear "); - pUdp->UDP_CSR[0] &= ~(AT91C_UDP_TXCOMP); - while (pUdp->UDP_CSR[0] & AT91C_UDP_TXCOMP) ; - } - - DEBUGE("set_txpktrdy "); - pUdp->UDP_CSR[0] |= AT91C_UDP_TXPKTRDY; - DEBUGE("wait_txcomp "); - do { - csr = pUdp->UDP_CSR[0]; - - /* Data IN stage has been stopped by a status OUT */ - if (csr & AT91C_UDP_RX_DATA_BK0) { - pUdp->UDP_CSR[0] &= ~(AT91C_UDP_RX_DATA_BK0); - DEBUGE("stopped by status out "); - return; - } - } while (!(csr & AT91C_UDP_TXCOMP)); - - } while (length); - - DEBUGE("clear_txcomp "); - if (pUdp->UDP_CSR[0] & AT91C_UDP_TXCOMP) { - pUdp->UDP_CSR[0] &= ~(AT91C_UDP_TXCOMP); - while (pUdp->UDP_CSR[0] & AT91C_UDP_TXCOMP) ; - } - DEBUGE("done "); -} - static void reset_ep(unsigned int ep) { AT91PS_UDP pUDP = upcd.pUdp; -- cgit v1.2.3 From 5a8cd9feca7d0d09aee736ff804be4967828aefd Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 30 Jul 2011 00:37:04 +0200 Subject: add new RUN_FROM_RAM run-mode for direct DFU-to-RAM support --- firmware/Makefile | 4 +- firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld | 94 +++++++++++++++++++++++++++ firmware/src/os/req_ctx.c | 2 +- firmware/src/start/Cstartup_app.S | 2 + 4 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld (limited to 'firmware/src/os') diff --git a/firmware/Makefile b/firmware/Makefile index b085c33..68ff85f 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -49,7 +49,7 @@ USE_THUMB_MODE = NO #USE_THUMB_MODE = YES ## Create ROM-Image (final) -RUN_MODE=RUN_FROM_ROM +RUN_MODE:=RUN_FROM_ROM ## Create RAM-Image (debugging) - not used in this example #RUN_MODE=RUN_FROM_RAM @@ -319,7 +319,7 @@ LDFLAGS += -Wl,--gc-sections -Wl,--entry=_startup # Set Linker-Script Depending On Selected Memory and Controller ifeq ($(RUN_MODE),RUN_FROM_RAM) -LDFLAGS +=-T$(PATH_TO_LINKSCRIPTS)$(SUBMDL)-RAM.ld +LDFLAGS +=-T$(PATH_TO_LINKSCRIPTS)$(SUBMDL)-RAM$(IMGTYPE).ld else LDFLAGS +=-T$(PATH_TO_LINKSCRIPTS)$(SUBMDL)-ROM$(IMGTYPE).ld endif diff --git a/firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld b/firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld new file mode 100644 index 0000000..674ee00 --- /dev/null +++ b/firmware/link/AT91SAM7S128-RAM-sam7dfu-app.ld @@ -0,0 +1,94 @@ +/* Memory Definitions */ + +MEMORY +{ + /* reserve 16K DFU area on top of flash */ + /* FLASH (rx) : ORIGIN = 0x00104000, LENGTH = (0x00020000 - 0x4000 - 0x400) */ + /* reserve 1k DFU area on top of RAM */ + DATA (rw) : ORIGIN = 0x00200400, LENGTH = (0x00008000 - 0x400) + STACK (rw) : ORIGIN = 0x00208000, LENGTH = 0x00000000 +} + + +/* Section Definitions */ + +SECTIONS +{ + . = 0x00000000; + /* first section is .text which is used for code */ + .text 0x00200400: AT ( 0x00000000 ) { + src/start/Cstartup_app.o (.text) + * (.text) + * (.rodata*) + . = ALIGN(4); + + _etext = . ; + PROVIDE (etext = .); + + _data = . ; + * (.fastrun) + * (.data) + . = ALIGN(4); + } >DATA + + _edata = . ; + PROVIDE (edata = .); + + /* .bss section which is used for uninitialized data */ + .bss : { + __bss_start = . ; + __bss_start__ = . ; + *(.bss) + *(COMMON) + } >DATA + + . = ALIGN(4); + __bss_end__ = . ; + __bss_end__ = . ; + + PROVIDE (main = .); + + _end = . ; + + . = ALIGN(4); + .int_data : { + *(.internal_ram_top) + } >STACK + + PROVIDE (end = .); + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + +} diff --git a/firmware/src/os/req_ctx.c b/firmware/src/os/req_ctx.c index 0e4816e..cc8d57b 100644 --- a/firmware/src/os/req_ctx.c +++ b/firmware/src/os/req_ctx.c @@ -28,7 +28,7 @@ /* FIXME: locking, FIFO order processing */ -#ifdef __AT91SAM7S64__ +#if defined(__AT91SAM7S64__) || defined(RUN_FROM_RAM) #define NUM_RCTX_SMALL 16 #define NUM_RCTX_LARGE 1 #else diff --git a/firmware/src/start/Cstartup_app.S b/firmware/src/start/Cstartup_app.S index 448cc93..197be66 100644 --- a/firmware/src/start/Cstartup_app.S +++ b/firmware/src/start/Cstartup_app.S @@ -79,6 +79,7 @@ .global _startup .func _startup _startup: +#ifndef RUN_FROM_RAM /* Relocate .data section (copy from Flash to RAM) */ ldr r1, =_etext ldr r2, =_data @@ -87,6 +88,7 @@ loop_r: cmp r2, r3 ldrlo r0, [r1], #4 strlo r0, [r2], #4 blo loop_r +#endif /* Clear .bss section (Zero init) */ mov r0, #0 -- cgit v1.2.3 From e3d1fd9bbdb789196c25bdd5eb7536cda5ba39f3 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 30 Jul 2011 02:08:36 +0200 Subject: DFU: add third 'alternate configuration' for RAM load This will allow us to load code directly into RAM without going through flash. --- firmware/src/dfu/dfu.h | 26 +++++++++++++++++++++++--- firmware/src/os/usb_descriptors_openpcd.h | 14 +++++++------- firmware/src/pcd/usb_strings_app.txt | 1 + firmware/src/pcd/usb_strings_dfu.txt | 1 + firmware/src/picc/usb_strings_app.txt | 1 + firmware/src/picc/usb_strings_dfu.txt | 1 + firmware/src/simtrace/usb_strings_app.txt | 1 + firmware/src/simtrace/usb_strings_dfu.txt | 1 + 8 files changed, 36 insertions(+), 10 deletions(-) (limited to 'firmware/src/os') diff --git a/firmware/src/dfu/dfu.h b/firmware/src/dfu/dfu.h index a4184b4..c898197 100644 --- a/firmware/src/dfu/dfu.h +++ b/firmware/src/dfu/dfu.h @@ -61,6 +61,16 @@ .bInterfaceSubClass = 0x01, \ .bInterfaceProtocol = 0x01, \ .iInterface = 2, \ + }, { \ + .bLength = USB_DT_INTERFACE_SIZE, \ + .bDescriptorType = USB_DT_INTERFACE, \ + .bInterfaceNumber = 0x03, \ + .bAlternateSetting = 0x00, \ + .bNumEndpoints = 0x00, \ + .bInterfaceClass = 0xfe, \ + .bInterfaceSubClass = 0x01, \ + .bInterfaceProtocol = 0x01, \ + .iInterface = 3, \ }, \ } #else @@ -78,8 +88,18 @@ }, { \ .bLength = USB_DT_INTERFACE_SIZE, \ .bDescriptorType = USB_DT_INTERFACE, \ - .bInterfaceNumber = 0x02, \ - .bAlternateSetting = 0x00, \ + .bInterfaceNumber = 0x01, \ + .bAlternateSetting = 0x01, \ + .bNumEndpoints = 0x00, \ + .bInterfaceClass = 0xfe, \ + .bInterfaceSubClass = 0x01, \ + .bInterfaceProtocol = 0x01, \ + .iInterface = 0, \ + }, { \ + .bLength = USB_DT_INTERFACE_SIZE, \ + .bDescriptorType = USB_DT_INTERFACE, \ + .bInterfaceNumber = 0x01, \ + .bAlternateSetting = 0x02, \ .bNumEndpoints = 0x00, \ .bInterfaceClass = 0xfe, \ .bInterfaceSubClass = 0x01, \ @@ -98,7 +118,7 @@ struct _dfu_desc { struct usb_config_descriptor ucfg; - struct usb_interface_descriptor uif[2]; + struct usb_interface_descriptor uif[3]; struct usb_dfu_func_descriptor func_dfu; }; diff --git a/firmware/src/os/usb_descriptors_openpcd.h b/firmware/src/os/usb_descriptors_openpcd.h index ceb7ff6..58c54ec 100644 --- a/firmware/src/os/usb_descriptors_openpcd.h +++ b/firmware/src/os/usb_descriptors_openpcd.h @@ -20,8 +20,8 @@ const struct usb_device_descriptor dev_descriptor = { .idProduct = USB_PRODUCT_ID, .bcdDevice = 0x0030, /* Version 0.3 */ #ifdef CONFIG_USB_STRING - .iManufacturer = 3, - .iProduct = 4, + .iManufacturer = 4, + .iProduct = 5, .iSerialNumber = 0, #else .iManufacturer = 0, @@ -36,7 +36,7 @@ struct _desc { struct usb_interface_descriptor uif; struct usb_endpoint_descriptor ep[3]; #ifdef CONFIG_DFU - struct usb_interface_descriptor uif_dfu[2]; + struct usb_interface_descriptor uif_dfu[3]; #endif }; @@ -46,9 +46,9 @@ const struct _desc cfg_descriptor = { .bDescriptorType = USB_DT_CONFIG, .wTotalLength = USB_DT_CONFIG_SIZE + #ifdef CONFIG_DFU - 3 * USB_DT_INTERFACE_SIZE + + 4 * USB_DT_INTERFACE_SIZE + 3 * USB_DT_ENDPOINT_SIZE, - .bNumInterfaces = 3, + .bNumInterfaces = 4, #else 1 * USB_DT_INTERFACE_SIZE + 3 * USB_DT_ENDPOINT_SIZE, @@ -56,7 +56,7 @@ const struct _desc cfg_descriptor = { #endif .bConfigurationValue = 1, #ifdef CONFIG_USB_STRING - .iConfiguration = 5, + .iConfiguration = 6, #else .iConfiguration = 0, #endif @@ -73,7 +73,7 @@ const struct _desc cfg_descriptor = { .bInterfaceSubClass = 0, .bInterfaceProtocol = 0xff, #ifdef CONFIG_USB_STRING - .iInterface = 6, + .iInterface = 7, #else .iInterface = 0, #endif diff --git a/firmware/src/pcd/usb_strings_app.txt b/firmware/src/pcd/usb_strings_app.txt index a4e9f57..ce295dc 100644 --- a/firmware/src/pcd/usb_strings_app.txt +++ b/firmware/src/pcd/usb_strings_app.txt @@ -1,5 +1,6 @@ OpenPCD DFU Interface - Application Partition OpenPCD DFU Interface - Bootloader Partition +OpenPCD DFU Interface - RAM bitmanufaktur.de IT Solutions and hmw-consulting.de OpenPCD RFID Reader - Runtime Mode OpenPCD Runtime Configuration diff --git a/firmware/src/pcd/usb_strings_dfu.txt b/firmware/src/pcd/usb_strings_dfu.txt index a7714b7..9b18e60 100644 --- a/firmware/src/pcd/usb_strings_dfu.txt +++ b/firmware/src/pcd/usb_strings_dfu.txt @@ -3,3 +3,4 @@ OpenPCD RFID Reader - DFU Mode OpenPCD DFU Configuration OpenPCD DFU Interface - Application Partition OpenPCD DFU Interface - Bootloader Partition +OpenPCD DFU Interface - RAM diff --git a/firmware/src/picc/usb_strings_app.txt b/firmware/src/picc/usb_strings_app.txt index d892c72..5e8ed56 100644 --- a/firmware/src/picc/usb_strings_app.txt +++ b/firmware/src/picc/usb_strings_app.txt @@ -1,5 +1,6 @@ OpenPICC DFU Interface - Application Partition OpenPICC DFU Interface - Bootloader Partition +OpenPICC DFU Interface - RAM bitmanufaktur.de IT Solutions and hmw-consulting.de OpenPICC RFID Simulator - Runtime Mode OpenPICC Runtime Configuration diff --git a/firmware/src/picc/usb_strings_dfu.txt b/firmware/src/picc/usb_strings_dfu.txt index 681c30a..008259d 100644 --- a/firmware/src/picc/usb_strings_dfu.txt +++ b/firmware/src/picc/usb_strings_dfu.txt @@ -3,3 +3,4 @@ OpenPICC RFID Simulator - DFU Mode OpenPIIC DFU Configuration OpenPICC DFU Interface - Application Partition OpenPICC DFU Interface - Bootloader Partition +OpenPICC DFU Interface - RAM diff --git a/firmware/src/simtrace/usb_strings_app.txt b/firmware/src/simtrace/usb_strings_app.txt index ba24b2b..02cf326 100644 --- a/firmware/src/simtrace/usb_strings_app.txt +++ b/firmware/src/simtrace/usb_strings_app.txt @@ -1,5 +1,6 @@ SimTrace DFU Interface - Application Partition SimTrace DFU Interface - Bootloader Partition +SimTrace DFU Interface - RAM sysmocom - systems for mobile communications GmbH SimTrace SIM Sniffer - Runtime Mode SimTrace Runtime Configuration diff --git a/firmware/src/simtrace/usb_strings_dfu.txt b/firmware/src/simtrace/usb_strings_dfu.txt index ae2ff6a..2f65684 100644 --- a/firmware/src/simtrace/usb_strings_dfu.txt +++ b/firmware/src/simtrace/usb_strings_dfu.txt @@ -3,3 +3,4 @@ SimTrace SIM Sniffer - DFU Mode SimTrace DFU Configuration SimTrace DFU Interface - Application Partition SimTrace DFU Interface - Bootloader Partition +SimTrace DFU Interface - RAM -- cgit v1.2.3