MicroMod Beta Testing

PaulStoffregen

Well-known member
Teensy MicroMod is entering beta testing. A beta test units have been sent, to Defragster, KurtE, and mjs513. A few more might become available, if anyone is *really* interested.

Teensy MicroMod is a collaboration between PJRC & Sparkfun. The design is similar to Teensy 4.0, with several extra pins routed to the M.2 card edge and a larger 16 MB flash memory chip. They will be manufactured and sold by Sparkfun. I do not know exactly when they will officially released, but I believe it will be "soon".

Even though the core library update has been on Github and in recent 1.54 beta installers, I've tried to keep quiet about Teensy MicroMod, as it's not yet released. A few days ago Sparkfun approved sending beta boards, and today I got a green light from Sparkfun to discuss it publicly here on the forum.

I've attached the schematic. We should probably avoid showing photos until Sparkfun puts it on their website, but at this point all technical details can be openly discussed on this thread.
 

Attachments

  • MicroMod_Schematic.pdf
    213.7 KB · Views: 509
Thanks Paul,

Should arrive here later this week :D

In the Mean time I have updated my Teensy 4 excel document up on github with more MicroMod pages/updates.
https://github.com/KurtE/TeensyDocuments/blob/master/Teensy4 Pins.xlsx
For example in the main page for Micromod I added the Micromod pin numbers as a new column (2nd)
Code:
Pin	MM Pin	Name	GPIO	Serial	I2C	SPI	PWM	CAN	Audio	XBAR	FlexIO	Analog	SD/CSI/LCD
 0	17	AD_B0_03	1.3	Serial1(6) RX		SPI1(3) CS0	PWM1_X1	2_RX		IO-17			
 1	19	AD_B0_02	1.2	Serial1(6) TX		SPI1(3) MISO	PWM1_X0	2_TX		IO-16			
 2	47	EMC_04	4.4				PWM4_A2		2:TX_DATA	IO-06	1:4		
 3	32	EMC_05	4.5				PWM4_B2		2:TX_SYNC	IO-07	1:5		
 4	10	EMC_06	4.6				PWM2_A0		2:TX_BCLK	IO-08	1:6		
5	18	EMC_08	4.8				PWM2_A1		2:RX_DATA	IO-17	1:8		
6	71	B0_10	2.10				PWM2_A2, QT4_1		1:TX3_RX1		2:10		LCD_DATA6
7	56	B1_01	2.17	Serial2(4) RX			PWM1_B3		1:TX_DATA	IO-15	2:17, 3:17		
8	54	B1_00	2.16	Serial2(4) TX			PWM1_A3		1:RX_DATA	IO-14	2:16, 3:16		
 9	69	B0_11	2.11				PWM2_B2,QT4_2		1:TX2_RX2		2:11		LCD_DATA7
10	55	B0_00	2.0			SPI(4) CS0	QT1_0		MQS_RIGHT		2:0     		LCD_CLK
11	59	B0_02	2.2			SPI(4) MOSI	QT1_2	1_TX			2:2		LCD_HSYNC
12	61	B0_01	2.1			SPI(4) MISO	QT1_1		MQS_LEFT		2:1     		LCD_ENABLE
13	57	B0_03	2.3			SPI(4) SCK	QT2_0	1_RX			2:3		LCD_VSYNC
14/A0	34	AD_B1_02	1.18	Serial3(2) TX			QT3_2		SPDIF_OUT		3:2	A1:7, A2:7	
15/A1	38	AD_B1_03	1.19	Serial3(2) RX			QT3_3		SPDIF_IN		3:3	A1:8, A2:8	
16/A2	20	AD_B1_07	1.23	Serial4(3) RX	Wire1(3) SCL				SPDIF_EXTCLK		3:7	A1:12, A2:12	USDHC2_DATA3
17/A3	22	AD_B1_06	1.22	Serial4(3) TX	Wire1(3) SDA				SPDIF_LOCK		3:6	A1:11, A2:11	USDHC2_DATA2
18/A4	12	AD_B1_01	1.17	Serial3(2) RTS	Wire(1) SDA		QT3_1				3:1	A1:6, A2:6	
19/A5	14	AD_B1_00	1.16	Serial3(2) CTS	Wire(1) SCL		QT3_0				3:0	A1:5, A2:5	
20/A6	52	AD_B1_10	1.26	Serial5(8) TX					1:RX_SYNC		3:10	A1:15, A2:15	
21/A7	50	AD_B1_11	1.27	Serial5(8) RX					1:RX_BCLK		3:11	A1:0, A2:0	
22/A8	49	AD_B1_08	1.24				PWM4_A0	1_TX			3:8	A1:13, A2:13	USDHC2_CMD
23/A9	58	AD_B1_09	1.25				PWM4_A1	1_RX	1:MCLK		3:9	A1:14, A2:14	USDHC2_CLK
---		----	----	------	---	---	---	---	----	----	-----	------	
24/A10	53	AD_B0_12	1.12	Serial6(1) TX	Wire2(4) SCL		PWM1_X2					A1:1  	
25/A11	51	AD_B0_13	1.13	Serial6(1) RX	Wire2(4) SDA		PWM1_X3	GPT1_CLK				A1:2	
26/A12	67	AD_B1_14	1.30			SPI1(3) MOSI			1:TX_BCLK		3:14	A2:3  	
27/A13	8	AD_B1_15	1.31			SPI1(3) SCK			1:TX_SYNC		3:15	A2:4  	
28	4	EMC_32	3.18	Serial7(7) RX			PWM3_B1						
29	16	EMC_31	4.31	Serial7(7) TX		SPI2(1) CS1	PWM3_A1						
30	41	EMC_37	3.23				GPT1_3 	3_RX	3:MCLK	IO-23			
31	43	EMC_36	3.22				GPT1_2	3_TX	3:TX_DATA	IO-22			
32	65	B0_12	2.12						1:TX1_RX3	IO-10	2:12		LCD_DATA8
33	63	EMC_07	4.7				PWM2_B0		2:MCLK	IO-09	1:7		
SD Pins - Cable connector(T4 34-39)													
34	66	SD_B0_03	3.15	Serial5(8) RTS		SPI2(1) MISO	PWM1_B1			IO-07			DATA1
35	64	SD_B0_02	3.14	Serial5(8) CTS		SPI2(1) MOSI	PWM1_A1			IO-06			DATA0
36	60	SD_B0_01	3.13		Wire1(3) SDA	SPI2(1) CS0	PWM1_B0			IO-05			CLK
37	62	SD_B0_00	3.12		Wire1(3) SCL	SPI2(1) SCK	PWM1_A0			IO-04			CMD
38	68	SD_B0_05	3.17	Serial5(8) RX		FLEXSPI B_DQS	PWM1_B2			IO-09			DATA3
39	70	SD_B0_04	3.16	Serial5(8) TX		FLEXSPI B_SSO_B	PWM1_A2			IO-08			DATA2
Micromod new pins													
40	40	B0_04	2:04		Wire?(2) SCL		QT2_1				2:4		LCD_DATA0
41	42	B0_05	2:05		Wire?(2) SDA		QT2_2				2:5		LCD_DATA1
42	44	B0_06	2:06				QT3_0				2:6		LCD_DATA2
43	46	B0_07	2:07				QT3_1				2:7		LCD_DATA3
44	48	B0_08	2:08				QT3_2				2:8		LCD_DATA4
45	73	B0_09	2:09				QT4_0				2:9		LCD_DATA5
USB Pins													
HUSB D+	35												
HUSB D-	37												
USB D+	3												
USB D-	5
Note: For awhile I had a problem figuring how Teensy pin 28 worked here, I missed it gin the MicroMod connector but it is pin 4. And this pin is sort of interesting in is define as the: 3.3v enable.

And on the three different carrier boards I looked at, this pin only came out to a solder jumper, where when soldered, it would allow you to turn off the 3.3v VR. Which on some boards may be
interesting as maybe it may allow you to turn off camera, or display or...

Will be fun.

Edit: Sorry I know that cut and paste from excel will not align all of the columns overly well. Wish there was a paste that would take the formatting. Or an easy way to convert to a version of
HTML it supports...
 
Nice.
Will the microMod board expose more IO pins then the Teensy 4.1?

Sorry as you can hopefully see in my Excel document above, the MM exposes 45 IO pins one of which as I mentioned is sort of used for controlling if 3.3v is turned on or not. Although if you don't need that functionality you could probably solder on a wire to their solder jumper area on their carrier boards.

In comparison from current beta core_pins.h
T4 has:
Code:
#define CORE_NUM_TOTAL_PINS	40
#define CORE_NUM_DIGITAL	40
#define CORE_NUM_INTERRUPT	40
#define CORE_NUM_ANALOG		14
#define CORE_NUM_PWM		27

T4.1 has:
Code:
#define CORE_NUM_TOTAL_PINS	55
#define CORE_NUM_DIGITAL	55
#define CORE_NUM_INTERRUPT	55
#define CORE_NUM_ANALOG		18
#define CORE_NUM_PWM		31
and MM has:
Code:
#define CORE_NUM_TOTAL_PINS	46
#define CORE_NUM_DIGITAL	46
#define CORE_NUM_INTERRUPT	46
#define CORE_NUM_ANALOG		14
#define CORE_NUM_PWM		30

Also note, that of these 46 pins not all of them are also on T4.1... That is in my above Excel Teensy pins 40-45 are not common with either T4 or T4.1
 
Will it be possible to connect an ethernet PHY to the MicroMod board ?

Looking at the schematic for T4.1 the DP83826 uses B1_04 to B0_15 but that doesn't seems to be connected the the M.2 edge connector.
 
Looking at the schematic, it's surprising that the MicroMod Reset pin is connected to the Teensy On/Off and not a reset as per the MicroMod spec.
 
I was sort of curious what pins are actually exported and used on some of the the Sparkfun carrier boards, example the Machine Learning board with camera. So added some columns to one of
my pages:
Code:
Pin	MM Pin	Machine Learning	Machine 2nd use	Name	GPIO	Serial	I2C	SPI	PWM	CAN	Audio	XBAR	FlexIO	Analog	SD/CSI/LCD
USB D+	3	USB_D+													
28	4	3.3V_EN		EMC_32	3.18	Serial7(7) RX			PWM3_B1						
USB D-	5	USB_D-													
27/A13	8			AD_B1_15	1.31			SPI1(3) SCK			1:TX_SYNC		3:15	A2:4  	
 4	10	D0	HEADER_CS	EMC_06	4.6				PWM2_A0		2:TX_BCLK	IO-08	1:6		
18/A4	12	I2C_SDA		AD_B1_01	1.17	Serial3(2) RTS	Wire(1) SDA		QT3_1				3:1	A1:6, A2:6	
19/A5	14	I2C_SCL		AD_B1_00	1.16	Serial3(2) CTS	Wire(1) SCL		QT3_0				3:0	A1:5, A2:5	
29	16	CAMERA_INT		EMC_31	4.31	Serial7(7) TX		SPI2(1) CS1	PWM3_A1						
 0	17	TX1		AD_B0_03	1.3	Serial1(6) RX		SPI1(3) CS0	PWM1_X1	2_RX		IO-17			
5	18	D1	CAMERA_TRIG	EMC_08	4.8				PWM2_A1		2:RX_DATA	IO-17	1:8		
 1	19	RX1		AD_B0_02	1.2	Serial1(6) TX		SPI1(3) MISO	PWM1_X0	2_TX		IO-16			
16/A2	20			AD_B1_07	1.23	Serial4(3) RX	Wire1(3) SCL				SPDIF_EXTCLK		3:7	A1:12, A2:12	USDHC2_DATA3
17/A3	22			AD_B1_06	1.22	Serial4(3) TX	Wire1(3) SDA				SPDIF_LOCK		3:6	A1:11, A2:11	USDHC2_DATA2
 3	32	PWM0		EMC_05	4.5				PWM4_B2		2:TX_SYNC	IO-07	1:5		
14/A0	34	A0		AD_B1_02	1.18	Serial3(2) TX			QT3_2		SPDIF_OUT		3:2	A1:7, A2:7	
HUSB D+	35														
HUSB D-	37														
15/A1	38	A1		AD_B1_03	1.19	Serial3(2) RX			QT3_3		SPDIF_IN		3:3	A1:8, A2:8	
40	40	CAMERA_D0		B0_04	2:04		Wire?(2) SCL		QT2_1				2:4		LCD_DATA0
30	41			EMC_37	3.23				GPT1_3 	3_RX	3:MCLK	IO-23			
41	42	CAMERA_D1		B0_05	2:05		Wire?(2) SDA		QT2_2				2:5		LCD_DATA1
31	43			EMC_36	3.22				GPT1_2	3_TX	3:TX_DATA	IO-22			
42	44	CAMERA_D2		B0_06	2:06				QT3_0				2:6		LCD_DATA2
43	46	CAMERA_D3		B0_07	2:07				QT3_1				2:7		LCD_DATA3
 2	47	PWM1	CAM_VDD	EMC_04	4.4				PWM4_A2		2:TX_DATA	IO-06	1:4		
44	48	CAMERA_D4		B0_08	2:08				QT3_2				2:8		LCD_DATA4
22/A8	49	BATT_VIN3		AD_B1_08	1.24				PWM4_A0	1_TX			3:8	A1:13, A2:13	USDHC2_CMD
21/A7	50	I2S_SCK	PDM_CLK	AD_B1_11	1.27	Serial5(8) RX					1:RX_BCLK		3:11	A1:0, A2:0	
25/A11	51			AD_B0_13	1.13	Serial6(1) RX	Wire2(4) SDA		PWM1_X3	GPT1_CLK				A1:2	
20/A6	52	I2S_WS	PDM_DAT	AD_B1_10	1.26	Serial5(8) TX					1:RX_SYNC		3:10	A1:15, A2:15	
24/A10	53			AD_B0_12	1.12	Serial6(1) TX	Wire2(4) SCL		PWM1_X2					A1:1  	
8	54	I2S_SD	CAMERA_PCLK	B1_00	2.16	Serial2(4) TX			PWM1_A3		1:RX_DATA	IO-14	2:16, 3:16		
10	55	SPI_CS		B0_00	2.0			SPI(4) CS0	QT1_0		MQS_RIGHT		2:0     		LCD_CLK
7	56	CAMERA_MCLK		B1_01	2.17	Serial2(4) RX			PWM1_B3		1:TX_DATA	IO-15	2:17, 3:17		
13	57	SPI_SCK		B0_03	2.3			SPI(4) SCK	QT2_0	1_RX			2:3		LCD_VSYNC
23/A9	58			AD_B1_09	1.25				PWM4_A1	1_RX	1:MCLK		3:9	A1:14, A2:14	USDHC2_CLK
11	59	SPI_SCOPI		B0_02	2.2			SPI(4) MOSI	QT1_2	1_TX			2:2		LCD_HSYNC
36	60			SD_B0_01	3.13		Wire1(3) SDA	SPI2(1) CS0	PWM1_B0			IO-05			CLK
12	61	SPI_CIPO		B0_01	2.1			SPI(4) MISO	QT1_1		MQS_LEFT		2:1     		LCD_ENABLE
37	62			SD_B0_00	3.12		Wire1(3) SCL	SPI2(1) SCK	PWM1_A0			IO-04			CMD
33	63	CAMERA_VSYNC		EMC_07	4.7				PWM2_B0		2:MCLK	IO-09	1:7		
35	64			SD_B0_02	3.14	Serial5(8) CTS		SPI2(1) MOSI	PWM1_A1			IO-06			DATA0
32	65	CAMERA_HSYNC		B0_12	2.12						1:TX1_RX3	IO-10	2:12		LCD_DATA8
34	66			SD_B0_03	3.15	Serial5(8) RTS		SPI2(1) MISO	PWM1_B1			IO-07			DATA1
26/A12	67			AD_B1_14	1.30			SPI1(3) MOSI			1:TX_BCLK		3:14	A2:3  	
38	68			SD_B0_05	3.17	Serial5(8) RX		FLEXSPI B_DQS	PWM1_B2			IO-09			DATA3
 9	69	CAMERA_D7		B0_11	2.11				PWM2_B2,QT4_2		1:TX2_RX2		2:11		LCD_DATA7
39	70			SD_B0_04	3.16	Serial5(8) TX		FLEXSPI B_SSO_B	PWM1_A2			IO-08			DATA2
6	71	CAMERA_D6		B0_10	2.10				PWM2_A2, QT4_1		1:TX3_RX1		2:10		LCD_DATA6
45	73	CAMERA_D5		B0_09	2:09				QT4_0				2:9		LCD_DATA5
Was curious about which pins hooked up to camera. From previous times looking at it I knew that unlike the T4.1 which has enough of the CSI pins exposed
this module does not. However wondered about how we were playing with it with DMA on a GPIO port with the OV7670 code and wondered how close the setup
might be to redo to work with their camera on their pins:

So looking at the 8 data pins we see:

CAMERA_D0 through CAMERA_D7 is GPIO port 2 pins 4, 5, 6, 7, 8, 11, 10, 9 - So all in port but not in consecutive order so would need to adjust.
CAMERA_MCLK is on Teensy pin 7 which is PWM so probably can use that timer to run it.
CAMERA_PCLK is on teensy pin 8 which is an XBar pin which is good if like OV7670 we can use it to drive the DMA operation.
CAMERA_HSYNC is also on GPIO port 2 pin 12, so we can look at it from DMA read buffer.
CAMERA_VSYNC is on different port (4 pin 7) not sure if it helped to have it on same one or not...

But it does looks like there is enough there to play with. :D Again would have been great if it was actually setup to use CSI pins, but then probably run into other issue like what
other Teensy functionality are on those pins and should those pins be in other logical places on the MM pins...
 
Nice.
Will the microMod board expose more IO pins then the Teensy 4.1?

As Paul noted - it is "Teensy 4.0, with several extra pins routed to the M.2 card edge" - but not all the pins presented on a T_4.1. - so it is a unique assembly due to M2 connector and PCB size and the SparkFun M2 to carrier specs.

The On/Off can work like Reset if coded - See github.com/FrankBoesing/T4_PowerButton - IIRC it can change the default timing behavior and also the sketch response to a press, while preserving the unique On/Off feature when desired just like on the PJRC T_4x's.
 
Paul, is the board designed to a temperature range (i.e. -40 to +80)? Thinking that this could be cost effective for a commercial product I'll be developing later this year.
 
is the board designed to a temperature range (i.e. -40 to +80)?

That's really a question for Sparkfun.

While I understand everyone has a lot of questions about this not-yet-announced product, please try to be patient. Holding a Q & A session before release really isn't appropriate. Those sorts of details are coming soon. Please wait until Sparkfun officially announces it on their website. Or try to dig into the details already available, like the part numbers & code.

Right now the main goal is running 1.54-beta7 (and other upcoming betas) and maybe experimenting with the ways to use those 6 extra pins which aren't available on Teensy 4.0 or 4.1.
 
I'd be interested in beta testing, working with a custom carrier currently using the 4.1 that does a lot of serial IO and heavy CPU. However I just ordered the MicroMod support stuff from Sparkfun so it might not make sense depending on timing, especially if you've already allocated the ones you have on hand.
 
@PaulStoffregen
Just a note in prep for getting the TeensyMM later this week I started compiling some of our old test sketches and some of the libraries as well. They all compiled without issue for the TMM will test them later. But the one thing I did notice right up front is that upon completion of compile it doesn't show memory usuage as it normally does for the T4.

Basically all I see is a "Done Compiling Message".

Now if I turn on verbose I do see it during linking:
Code:
Linking everything together...
"F:\\arduino-1.8.13-beta6\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -O2 -Wl,--print-memory-usage,--gc-sections,--relax "-TF:\\arduino-1.8.13-beta6\\hardware\\teensy\\avr\\cores\\teensy4/imxrt1062_mm.ld" -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -o "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396/T4_i2c_tb_vk.ino.elf" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\sketch\\T4_i2c_tb_vk.ino.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Wire\\Wire.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Wire\\WireIMXRT.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Wire\\WireKinetis.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Wire\\utility\\twi.c.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\FRAM_MB85RC_I2C-master\\FRAM_MB85RC_I2C.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_SSD1306-master\\Adafruit_SSD1306.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_GFX_Library\\glcdfont.c.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_GFX_Library\\Adafruit_GFX.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_GFX_Library\\Adafruit_MonoOLED.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_GFX_Library\\Adafruit_SPITFT.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\MPU9250\\MPU9250.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_BNO055\\Adafruit_BNO055.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\SparkFun_BNO080_Cortex_Based_IMU\\SparkFun_BNO080_Arduino_Library.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\LidarLiteV3\\LIDARLite.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\LidarLiteV3\\LIDARLite_v3HP.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\LidarLiteV3\\LIDARLite_v4LED.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\SparkFun_Qwiic_Keypad_Arduino_Library-master\\SparkFun_Qwiic_Keypad_Arduino_Library.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\SparkFun_Qwiic_Button_Arduino_Library-master\\SparkFun_Qwiic_Button.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_SHT31-master\\Adafruit_SHT31.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_BusIO\\Adafruit_BusIO_Register.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_BusIO\\Adafruit_I2CDevice.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396\\libraries\\Adafruit_BusIO\\Adafruit_SPIDevice.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396/..\\arduino_cache_500073\\core\\core_355a9d1280b86ae6ac285678c3d4c960.a" "-LC:\\Users\\Merli\\AppData\\Local\\Temp\\arduino_build_240396" -larm_cortexM7lfsp_math -lm -lstdc++
Memory region         Used Size  Region Size  %age Used
            ITCM:       57228 B       512 KB     10.92%
            DTCM:       21184 B       512 KB      4.04%
             RAM:       12448 B       512 KB      2.37%
           FLASH:       79908 B     16128 KB      0.48%
but not on completion of the compile.
 
> Doesn't look like MicroMod has any hardware debug capability available in their pin defiitions.

I believe pins 21 and 23. Or could put a header on the CPU module.
 
> Doesn't look like MicroMod has any hardware debug capability available in their pin defiitions.

I believe pins 21 and 23. Or could put a header on the CPU module.

I missed those !! Obviously hidden right in plain sight !!

Mark J Culross
KD5RXT
 
There are SWD_CLK and SWD_IO pins listed on the MicroMod MKL02 which go to test points, so maybe there's some hope there?
 
@PaulStoffregen
... But the one thing I did notice right up front is that upon completion of compile it doesn't show memory usuage as it normally does for the T4.

Basically all I see is a "Done Compiling Message".

...

You are right @mjs513!

T_3.5 - does the old style:
Code:
Sketch uses 12736 bytes (2%) of program storage space. Maximum is 524288 bytes.
Global variables use 4156 bytes (1%) of dynamic memory, leaving 257980 bytes for local variables. Maximum is 262136 bytes.

T_4.1 does the new 1062 style:
Code:
[B]"T:\\arduino-1.8.13_t54\\hardware\\teensy/../tools/teensy_size" "C:\\Users\\Tim\\AppData\\Local\\Temp\\arduino_build_43/LoopCnt.ino.elf"[/B]
Memory Usage on Teensy 4.1:
  FLASH: code:10496, data:2396, headers:7212   free for files:8106360
   RAM1: code:32768, variables:12992   free for local variables:478528
   RAM2: variables:12384  free for malloc/new:511904

But for the T_4.MM - github_SIZE - does Neither. So it knows to call the new 'size' - but the new size doesn't pass and report the board.
Code:
[B]"T:\\arduino-1.8.13_t54\\hardware\\teensy/../tools/teensy_size" "C:\\Users\\Tim\\AppData\\Local\\Temp\\arduino_build_43/LoopCnt.ino.elf"[/B]
 
I doubt it has debugging - if it has, I'd be interested, too :)
Size: perhaps you should fix the itcm size too - it shows the blocks only -not possible to see the size in bytes. Currently the number is misleading because it looks exact as it is but is not. I'd say this is a bug. If you want to show blocks, print "64kb" for example. But I'd prefer exact Bytes.
 
Last edited:
@Paul : the MicroMod is HEX 26 { 0x26 } not Decimal 26 - See github.com/PaulStoffregen/teensy_size/pull/3
>> if (model == 0x24 || model == 0x25 || model == 26) {


D:\Tim\downloads\teensy_size-main\teensy_size-main>"teensy_size" "C:\\Users\\Tim\\AppData\\Local\\Temp\\arduino_build_43/LoopCnt.ino.elf"
teensy_size: Memory Usage on Teensy MicroMod:
teensy_size: FLASH: code:9288, data:1180, headers:7212 free for files:16497392
teensy_size: RAM1: code:32768, variables:8896 free for local variables:482624
teensy_size: RAM2: variables:12384 free for malloc/new:511904
 
I doubt it has debugging - if it has, I'd be interested, too :)
Size: perhaps you should fix the itcm size too - it shows the blocks only -not possible to see the size in bytes. Currently the number is misleading because it seems exact as it is but is not. If you want to show blocks, print "64kb" for example. But I'd prefer exact Bytes.

Debug would be news - so indeed doubtful - at least now?

@Frank: How about this:
Code:
teensy_size: Memory Usage on Teensy MicroMod:
teensy_size:   FLASH: code:9288, data:1180, headers:7212   free for files:16497392
teensy_size:    RAM1: code:32768 [B][COLOR="#FF0000"](7600 used)[/COLOR][/B], variables:8896   free for local variables:482624
teensy_size:    RAM2: variables:12384  free for malloc/new:511904

<edit> :: github.com/PaulStoffregen/teensy_size/pull/4
 
Code: 32kB, 7600 Bytes used.

I'll leave that format/presentation for Paul to decide?

Having both numbers in Bytes will allow a quicker read when faced with ::
teensy_size: RAM1: code:98304 (97600 used)
or
teensy_size: RAM1: code:98304 (67600 used)

Not that knowing the next bump down is 65536 is intuitive.
 
Back
Top