Ver Fonte

zero init internal class/device data

hathach há 7 anos atrás
pai
commit
59c1b4b427

+ 7 - 1
examples/device/cdc_msc_hid/Makefile

@@ -20,6 +20,7 @@ CC = $(CROSS_COMPILE)gcc
 CXX = $(CROSS_COMPILE)g++
 LD = $(CROSS_COMPILE)ld
 OBJCOPY = $(CROSS_COMPILE)objcopy
+SIZE = $(CROSS_COMPILE)size
 MKDIR = mkdir
 SED = sed
 CP = cp
@@ -87,7 +88,7 @@ SRC_C += $(LIB_SOURCE)
 OBJ += $(addprefix $(BUILD)/obj/, $(SRC_C:.c=.o))
 OBJ += $(addprefix $(BUILD)/obj/, $(SRC_S:.S=.o))
 
-all: $(BUILD)/$(BOARD)-firmware.bin
+all: $(BUILD)/$(BOARD)-firmware.bin size
 
 OBJ_DIRS = $(sort $(dir $(OBJ)))
 $(OBJ): | $(OBJ_DIRS)
@@ -123,5 +124,10 @@ $(BUILD)/obj/%.o: %.S
 	@echo AS $(notdir $@)
 	@$(CC) -x assembler-with-cpp $(ASFLAGS) -c -o $@ $<
 
+size: $(BUILD)/$(BOARD)-firmware.elf
+	-@echo ''
+	@$(SIZE) $<
+	-@echo ''
+
 clean:
 	rm -rf build-$(BOARD)

+ 1 - 1
src/class/cdc/cdc_device.c

@@ -85,7 +85,7 @@ typedef struct
 //--------------------------------------------------------------------+
 // INTERNAL OBJECT & FUNCTION DECLARATION
 //--------------------------------------------------------------------+
-CFG_TUSB_MEM_SECTION static cdcd_interface_t _cdcd_itf[CFG_TUD_CDC];
+CFG_TUSB_MEM_SECTION static cdcd_interface_t _cdcd_itf[CFG_TUD_CDC] = { { 0 } };
 
 //--------------------------------------------------------------------+
 // APPLICATION API

+ 1 - 1
src/class/hid/hid_device.c

@@ -91,7 +91,7 @@ typedef struct
   hidd_interface_t* itf;
 } hidd_report_t ;
 
-CFG_TUSB_MEM_SECTION static hidd_interface_t _hidd_itf[ITF_COUNT];
+CFG_TUSB_MEM_SECTION static hidd_interface_t _hidd_itf[ITF_COUNT] = { { 0 } };
 
 
 #if CFG_TUD_HID_KEYBOARD

+ 1 - 1
src/class/msc/msc_device.c

@@ -83,7 +83,7 @@ typedef struct {
   uint8_t add_sense_qualifier;
 }mscd_interface_t;
 
-CFG_TUSB_MEM_SECTION CFG_TUSB_MEM_ALIGN static mscd_interface_t _mscd_itf;
+CFG_TUSB_MEM_SECTION CFG_TUSB_MEM_ALIGN static mscd_interface_t _mscd_itf = { 0 };
 CFG_TUSB_MEM_SECTION CFG_TUSB_MEM_ALIGN static uint8_t _mscd_buf[CFG_TUD_MSC_BUFSIZE];
 
 //--------------------------------------------------------------------+

+ 1 - 1
src/device/usbd.c

@@ -61,7 +61,7 @@ typedef struct {
 
 }usbd_device_t;
 
-static usbd_device_t _usbd_dev;
+static usbd_device_t _usbd_dev = { 0 };
 
 // Auto descriptor is enabled, descriptor set point to auto generated one
 #if CFG_TUD_DESC_AUTO