new chibios
[gnuk/neug.git] / README
diff --git a/README b/README
index 5cdc3c3..b0535df 100644 (file)
--- a/README
+++ b/README
@@ -52,7 +52,7 @@ A2: Yes, we should.  It's not implemented yet, and I don't have an
 Targets
 =======
 
-STBee Mini and Olimex STM32-H103 is supported.
+STBee Mini, Olimex STM32-H103, CQ-STARM, and STBee are supported.
 
 
 Souce code
@@ -105,8 +105,8 @@ Then, we will have "neug.elf".
 How to install
 ==============
 
-STBee Mini
-----------
+STBee Mini and STBee
+--------------------
 
 Reset the board with "USER" switch pushed.  Type following to write
 to flash:
@@ -158,13 +158,19 @@ to generate final output.  Here is a figure of the circuit.
                         Entropy Pool (16-byte)
                        +----------------+
                        |                |
-                   8   | 8 parallel     |   8  ||<-- [ Vref ]
-                 +-/-- |  CRC-16        |<--/--||
+                       | 8 parallel     |   8  ||<-- [ Vref ]
+                 +---- |  CRC-16        |<--/--||
                  |     | shift registers|      ||<-- [ Temperature Sensor ]
                  |     |                |
                  |     |                |<----/------ SysTick
                  |     +----------------+     1
-               =====    Physical-based RNG
+                 |     Physical-based RNG
+                 / 8
+                 |
+                 v
+               ===== Output function
+                 |
+                 / 32
                  |
                  +-------------+
                  |             |
@@ -237,6 +243,33 @@ Information on the Web
 Not yet.
 
 
+Known Problem(s)
+================
+
+On STBee (high-density device of STM32), I observed stall of
+generation of random number, after two hours, two hours and half, etc.
+Not yet identified the bug.
+
+Identified somehow:
+       adcp->state = ADC_ACTIVE
+       main thread: wait on condition variable at neug_get
+       rng thread: holding rb->m, event wait at rng_gen for ADC_DATA_AVAILABLE
+       idle thread: running
+       LED thread: event wait
+
+Kicking DMA controller again (ADC is continuous mode).
+
+(gdb) set ADCD1.dmastp->channel->CCR = 0
+(gdb) set ADCD1.dmastp->channel->CNDTR = 8
+(gdb) set ADCD1.dmastp->channel->CCR = 0x258f
+(gdb) x/x 0x40020000           # DMA interrupt status register (DMA_ISR)
+0x40020000:    0x00000007
+
+Then, it goes again.
+
+Lost DMA finish interrupt?
+
+
 Your Contributions
 ==================