Léa Saviot
0412a45cea
[escher/responder] Inline some methods
2019-12-20 11:49:30 +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
Romain Goyet
2c7a26103b
[ci] Use a recent ARM GCC toolchain
2019-12-19 21:46:21 -05:00
Émilie Feral
e13425d231
[apps] Add comment about LED color in Dutch exam mode
2019-12-19 15:52:45 +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
902cc64d32
[apps] GlobalPreferences: add an assertion to ensure the the fetched
...
exam mode can be casted in GlobalPreferences::ExamMode
2019-12-19 15:52:45 +01:00
Émilie Feral
425f0cb459
[apps] GlobalPreferences: remove useless assertion
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
01ab6b5aeb
[build] Fix test.elf build
2019-12-19 15:52:45 +01:00
Émilie Feral
7d8bd45047
[build] Fix target two_binaries
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
2ccdc2d0dc
[apps] Fix messages regarding Dutch exam mode in non-English languages
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
f5e7c016e8
[apps] GlobalPreferences: avoid multiple calls to examMode()
2019-12-19 15:52:45 +01:00
Émilie Feral
7fc730597c
[apps] Fix exam mode messages
2019-12-19 15:52:45 +01:00
Émilie Feral
8c6a2836de
[settings] Fix row initialization in sub menus
2019-12-19 15:52:45 +01:00
Émilie Feral
a3774fb510
[settings] Exam mode: reactivate the current exam mode (stick to Dutch
...
exam mode if it is already on)
2019-12-19 15:52:45 +01:00
Émilie Feral
de34c0b8db
[apps] Change pop-up message for Dutch exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
6ecfe9c5db
[apps] Two exam modes in settings: Standard & Dutch
2019-12-19 15:52:45 +01:00
Émilie Feral
6cd98a3a48
[apps] AppsContainer::activateExamMode can make the LED blink in orange
...
or red according to the chosen exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
49d2a248da
[settings] Fix messages for Dutch exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
5491dee5ce
[calculation][solver] Do not display exact solutions in Dutch exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
da735b93a4
[apps] GlobalPreferences: change exam mode API
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
Émilie Feral
82fb00689e
[apps/settings] Message: add messages to activate Dutch exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
510151c7db
[apps/home] Prevent from entering Python application in exam mode
2019-12-19 15:52:45 +01:00
Émilie Feral
6a7ca32630
[apps/home] Add messages: ForbidenAppInExamMode
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
88d52c6e9c
[apps/apps_container] Fix screen noise before the logo on n0100
...
Push a white screen before fetching the examm mode, as this fetch takes
some time and the screen noise becomes visible on a n0100 when
downloading a new software.
2019-12-12 15:45:33 +01:00
Émilie Feral
070d362f15
[python] Improve comment
2019-12-12 14:16:13 +01:00
Léa Saviot
1b7f9cf7b4
[apps/on_boarding] Fix LED clash between on boarding and exam mode
2019-12-11 13:51:38 +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
e550005e43
[settings] Enable exam mode reactivation
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
Léa Saviot
53b8a6845e
[github/workflows] Add beta build tests
2019-12-06 15:22:00 +01:00
Léa Saviot
4bc99cc530
[apps/Makefile] Fix update prompt build
...
make -j8 output/release/device/n0110/epsilon.onboarding.update.two_binaries
made a compilation error
2019-12-06 15:22:00 +01:00