Émilie Feral
b33a778ccb
[ion] N0110 linker script: fix symbol name of section
...
internal_to_external
2020-02-12 15:13:18 +01:00
Léa Saviot
973c2149d4
[ion/battery] Battery level has some hysteresis
...
This prevents a blinking battery pictogra wwhen the battery level is at
the limit between two states.
2020-02-12 15:13:15 +01:00
Léa Saviot
78eea601c7
[ion/device] Prevent the user from leaving DFU during software download
...
We prevent the use of the Back key to leave DFU after a flash erase
operation. This way, we prevent the user from interrupting a software
download. After every software download, the calculator resets, which
unlocks the "exit on pressing back"
2020-02-12 15:13:15 +01:00
Léa Saviot
f1f4e43159
[ion/console] Default ion sources have console_stdio, not _display
2020-01-07 13:50:02 +01:00
Léa Saviot
57ceda5ac0
[bench] USBPlugged command
2020-01-06 14:31:37 +01:00
Émilie Feral
588c05f6b4
[ion] Reset: Add memory barriers before/after calling for a core reset:
2019-12-23 11:52:00 +01:00
Émilie Feral
9fca8e8b8b
[ion] Reset: factorize cache disabling
2019-12-23 11:52:00 +01:00
Émilie Feral
7b7447b110
[ion] N0110 cache: clean isb/dsb calls
2019-12-23 11:52:00 +01:00
Romain Goyet
5b00192b67
[ion/device] Remove ad-hoc compiler optimizations
...
Since we hand-specify which regs/regs.h functions shoudl be inlined, we
don't need to depend on specific compiler optimization levels.
2019-12-20 09:41:43 +01:00
Romain Goyet
d0660b6543
[ion/device] Force inlining compile-time bit ranges
...
Most of the time register operations can be optimized to a single
assembly instruction. That being said, aggressive -Os optimization can
lead the compiler to think that factorizing calls to setBitRange is a
good idea.
But we really want register operations to be inlined (and therefore
optimized as a single instruction), so we enforce inlining setBitRange
and REGS_FIELD macros.
2019-12-20 09:41:43 +01:00
Romain Goyet
ae8c111da5
[ion] Prevent duplicating SFLAGS
...
Using $(sort) in the Makefile has the side effect of removing duplicates
2019-12-20 09:41:43 +01:00
Émilie Feral
0254266803
[ion] ExamMode: add comment
2019-12-19 15:52:45 +01:00
Émilie Feral
3454265d7e
[ion] ExamMode: change firstOneBitInByte name to
...
numberOfBitsAfterLeadingZeroes and add comment
2019-12-19 15:52:45 +01:00
Émilie Feral
73673384ae
[ion] Avoid unclear, over-optimized computation in modulo 3
2019-12-19 15:52:45 +01:00
Émilie Feral
96c63bd4a5
[apps][ion] Yellow LED is equivalent to Dutch exam mode, do not update
...
the LED color (with plugging/charging events) if the displayed color was Red or Yellow
2019-12-19 15:52:45 +01:00
Émilie Feral
9d154e4e97
[ion] Exam mode: add assertion
2019-12-19 15:52:45 +01:00
Émilie Feral
2fc8799fee
[ion] Exam mode on device: Fix FetchExamMode and IncrementExamMode
2019-12-19 15:52:45 +01:00
Émilie Feral
f4de842a86
[ion] Change exam mode to have 3 states (off, standard, Dutch)
2019-12-19 15:52:45 +01:00
Léa Saviot
b155af0c0d
[ion/external_flash] Finer flash sectors
...
Instead of 128 sectors of 64K, there are now 8 sectors of 4K, 1 of 32K
and 127 of 64K. This makes a more finely erasable flash, which is needed
for the exam mode.
2019-12-19 14:47:25 +01:00
Romain Goyet
273834ee84
[ion/cache] Improve cache cleaning
...
- Avoid fetching CCSIDR twice
- Use for loop instead of do/while
- Only compute the target register once
- Avoid an useless nop
2019-12-16 10:22:47 +01:00
Romain Goyet
67302a90c7
[ion/cache] Follow CMSIS' order
2019-12-16 10:22:47 +01:00
Romain Goyet
d25346d82f
[ion/cache] Use DCSW to reduce code duplication
2019-12-16 10:22:47 +01:00
Romain Goyet
34e6141bdb
[ion/regs] Avoid code duplication
2019-12-16 10:22:47 +01:00
Léa Saviot
6762bb05af
[ion/cache] Add missing memory barrier
...
__asm volatile("nop") creates a memory barrier that prevents a crash on
the flasher.
Scenario: On the n0110, build flasher.bin, flash it at 0x20030000, build
bench.bin, flash it using the flasher at 0x20008000 -> the flasher cannot
make the device jump to the bench and crashes in the method
Ion::Device::Reset::Jump, inside Ion::Device::Cache::disableDCache().
2019-12-13 10:33:48 +01:00
Émilie Feral
e5bb8f4b21
[ion] Add TODOs
2019-12-12 17:30:42 +01:00
Émilie Feral
21756a5f4a
[ion] Make name consistent
2019-12-12 17:30:42 +01:00
Émilie Feral
ec4e3eca92
[ion] Linker scripts: build only 1 binary for n0100 and 2 for n0110 and
...
ensure to fill the sector dedicated to the exam mode with 1
2019-12-12 17:30:42 +01:00
Léa Saviot
9f592a0bc4
[ion/n0110] Persist exam mode through reset
2019-12-11 13:51:38 +01:00
Léa Saviot
762f67d996
[ion/device] Flash driver handles Internal and external flash
2019-12-11 13:51:38 +01:00
Léa Saviot
ebc5843795
[apps/ion/exam_mode] Store the exam mode activation in the flash
...
This way, it is not cleared by a reset
2019-12-11 13:51:38 +01:00
Émilie Feral
79ea22bc64
[ion] N0110 board: fix MPU configuration on FMC memory bank
2019-12-09 15:52:38 +01:00
Émilie Feral
8b0d8aa935
[ion] Fix bench build
2019-10-17 11:53:48 +02:00
Émilie Feral
7d48e84ac3
[ion] Fix flasher build
2019-10-17 11:53:48 +02:00
Romain Goyet
fde1a87998
[ion/device/n0100] Remove an LTO warning
2019-10-16 10:01:00 +02:00
Léa Saviot
069319a7ae
[ion/device/timing] Fix SysTick when changing HCLK
...
There will still be some drift due to the systick counter reset
2019-10-15 16:06:34 +02:00
Romain Goyet
f61529fe20
[ion/device] Discard ARM.exidx and ARM.extab sections
2019-10-01 16:57:17 +02:00
Romain Goyet
e81426f93b
[build] Clean the different targets
2019-10-01 15:38:27 +02:00
Émilie Feral
4d593a6149
[poincare] PrintFloat: take into account the distinction between char
...
and glyph length in ConvertFloatToText
2019-09-26 11:26:48 +02:00
Romain Goyet
c838c4657c
[build] Use rule_for/rule_label when needed
2019-09-18 17:46:38 +02:00
Émilie Feral
36278b5aec
Merge branch 'master' into version-12
2019-09-18 11:00:03 +02:00
Romain Goyet
9e59e8e38e
[ion] Homogenize type definitions to avoid LTO warnings
2019-09-18 10:52:20 +02:00
Émilie Feral
24b2ef29ce
[ion] Remove unused variable
2019-09-05 16:35:16 +02:00
Léa Saviot
b0b10f184e
[poincare/print_float] convertFloatToText -> ConvertFloatToText
2019-08-08 17:22:06 +02:00
Émilie Feral
059c596a80
Makefiles: avoid building all sources for each target; introduce more
...
modularity
2019-08-08 17:22:01 +02:00
Émilie Feral
a4dfe2eb9e
[scripts] Remove EPSILON_ONBOARDING_APP flag
2019-08-08 16:32:18 +02:00
Émilie Feral
697b4a6d4d
[scripts] Remove unused EPSILON_DEVICE_BENCH flag
2019-08-08 16:29:38 +02:00
Émilie Feral
86487567d4
[scripts] Makefile: Remove objs variable and add all_objs
2019-08-08 16:29:38 +02:00
Émilie Feral
2ddb586bdc
[scripts] Remove EPSILON_USB_DFU_XIP flag: specify the right dfu sources
...
for each target
2019-08-08 16:29:38 +02:00
Émilie Feral
2baf79a08b
[ion] Linker script N0110: add rodata symbol to internal flash to fix
...
building with DEBUG=1
2019-08-08 16:29:38 +02:00
Émilie Feral
c89c271f8c
[ion] Fix assert which did not compile
2019-08-08 16:29:38 +02:00