02 Jan 2016: PCB2 USB-HID and CDCACM dual-endpoint demo
This video demonstrates and explains the USB Keyboard generating USB-HID events simultaneously with handling USB CDCACM (usb serial). The reason for the dual endpoints on the STM32F072 is because the STM32F072 serves several purposes: Power Manager, USB Keyboard, USB Mouse/Touchpad/Touchscreen, SPI-based LCD on which icons, buttons and scroll-bars will be displayed behind the touchpad.
The reason for tackling the task of writing rudimentary firmware at this early phase is because once the STM32F072's USB port is hard-wired to the Laptop PCB1 (Main Board), all development has to take place from the EOMA68 CPU Card. As the running of the hardware itself is critically operationally dependent on the firmware, a basic level of bootstrapping is required. This includes programming the STM32F072 to listen to the "Power Button" GPIO and to in turn pull the EOMA68 "Reset" line up.
If however things get particularly tricky (such as corrupted firmware leading to no boot), an EOMA68 pass-through card can always be set up, allowing the firmware to be compiled and re-flashed.