|
@@ -209,6 +209,8 @@ fail:
|
|
|
|
|
|
int main(void)
|
|
|
{
|
|
|
+ uint32_t id, dev_id, rev_id;
|
|
|
+
|
|
|
|
|
|
if (_sdat != _ldat)
|
|
|
memcpy(_sdat, _ldat, _edat-_sdat);
|
|
@@ -226,6 +228,26 @@ int main(void)
|
|
|
gpio_configure_pin(gpiob, 12, GPO_opendrain(_2MHz, HIGH));
|
|
|
gpio_configure_pin(gpioc, 13, GPO_opendrain(_2MHz, HIGH));
|
|
|
|
|
|
+ printk("Serial = %04x:%04x:%04x:%04x:%04x:%04x\n",
|
|
|
+ *(volatile uint16_t *)0x1ffff7e8,
|
|
|
+ *(volatile uint16_t *)0x1ffff7ea,
|
|
|
+ *(volatile uint16_t *)0x1ffff7ec,
|
|
|
+ *(volatile uint16_t *)0x1ffff7ee,
|
|
|
+ *(volatile uint16_t *)0x1ffff7f0,
|
|
|
+ *(volatile uint16_t *)0x1ffff7f2);
|
|
|
+ printk("Flash Size = %ukB\n", *(volatile uint16_t *)0x1ffff7e0);
|
|
|
+
|
|
|
+ id = dbg->mcu_idcode;
|
|
|
+ dev_id = id & 0xfff;
|
|
|
+ rev_id = id >> 16;
|
|
|
+ printk("Device ID = 0x%04x\n", dev_id);
|
|
|
+ printk("Revision = 0x%04x\n", rev_id);
|
|
|
+ if (id != 0) {
|
|
|
+
|
|
|
+
|
|
|
+ printk("**WARNING**: 10xx8/B device returned valid IDCODE! Fake?\n");
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
#if NR_I2C >= 1
|
|
|
rcc->apb1enr |= RCC_APB1ENR_I2C1EN;
|