06

EMBEDDED PROGRAMMING

This week, I am supposed to learn embedded programming this week, but I spent time designing and fabricatin the board and have not made it work.

I first continued to fabricate the board I designed two weeks ago. After changing the mill end, the milling machine worked as expcted this time. However, after soldering the parts, I found out the LED keeps lighting after plugging in and I cannot programm the bootloader into it. It gives a very general error message of "invalid response during transfer" and I cannot find out the reasons.

Therefore, I decide to redesign the board and try again. I learned more about the knowledge about electronic design by reading more datasheets and looking others' designed boards. Having Miana checked the schematics, I proceeded to route the board and fabricate it. However, this time the board is not responsing at all. I tried to debug with multi-meter but didn't figure out the problem. I will continue to work on this during this week.

Comingback! To reduce the stesp I need to debug, I decide to adopt a PDB design that ensured to work from examples provided and slightly modify that. I found SVG-PCB is very suitable for this purpose and thus learned to use that. But again, I cannot bootloader the board. Thanks to Quentin and Miana, I found the problem turned out to be the mimacthed pins. Then by matching the pins with seperated wires, I eventually can program the board with the free-DAP I made. I also found that on my Mac, the edbg doesn't work, but Open OCD works pretty well.

Tools: Same as Electronic design week.
Date: 10.19.2022 - 10.25.2022






PROCESS

THIS IS HOW I GOT THERE



The datasheet again ....



The previous design, always light and cannot programm.



The error message when programm.



The schematics of the new design.



The board of the new design.



This time the programmer doesn't light and gives same error message.



The 2 boards I made this week.



Coming back, the board designed with SVG-PCB.



The board I finally made to work.



Use of a separated wire to connect the jtag.



Successfully boatloadered with OpenOCD.