0

I've used the Keolabs Ride7 to produce an intel hex as well as a binary file of some basic code for the STM32F205RG. dfu-utils works as well (I'm able to program the smartwatch with the original firmware). However, given the binary/hex files I've got where do I go from here. I've noticed from your firmware dfu-file that you place code at several places in the flash. Is 0x0800C000 where I whould put mine and is there anything (other than initializing the peripherals I want to use) that should be in that code.

Regards, Gustaf

2 Answers2

1

For first where you code start you need use remapping interrupt table to offset from start address (by default it's point to 0x08000000) and add offset to linker script for correction. I don't have SmartWatch and don't know entry point. It's maybe default reset interrupt vector on offset 0xC000 or other. Just use JTAG and look disassembled code of original firmware.

  • 1
    Thanks. Were the STM executing custom code from 0x08000000 things would've been easy. The first 16k are read-only though and I'm guessing they consist of their own dfu-handling (as well as showing a green bar with a moving dot :) ) The need of an offset I'm aware of. Seems like I'll have to do some disassembling after all. – Gustaf Lindström Jun 18 '13 at 17:50
  • Also you need to play with oscillator configuration. Sony don't publish what oscillator used in SmartWatch, internal in MCU or external and if used external what is his frequency. – exception13 Jun 18 '13 at 17:52
  • Yeah, I figured I'll use the HSI or LSI for now just to get going. – Gustaf Lindström Jun 18 '13 at 17:54
  • I think my work on LiveView can help you https://www.dropbox.com/sh/hgb04uljbjdwpv2/mL8XtNqAc- – exception13 Jun 18 '13 at 17:59
  • Thanks. I'll have a look at it. – Gustaf Lindström Jun 18 '13 at 18:11
0

There is an open source toolchain (GCC) adaptation targeted for Arduino using GNU Tools for ARM Embedded Processors and peripheral library STM32F2xx_StdPeriph_Driver.

It creates a firmware displaying some nice info on screen as a proof of concept. It even flashes firmware to SmartWatch if you execute make program and have dfu-util installed.

You should be able to fork that makefile and build your own apps easily.

auselen
  • 27,577
  • 7
  • 73
  • 114