flipperzero-firmware/firmware
Yukai Li 0d5d4c8688
RFC: NTAG I2C support (#1227)
* nfc: Add NTAG I2C (Plus) 1K/2K read support
* nfc: Add rudimentary NTAG I2C emulation
* nfc: Closer NTAG I2C emulation plus debug logging
* nfc: Fix NTAG I2C sector select emulation
* nfc: Add security for NTAG I2C
* nfc: Send NAK correctly for MFUL reads
* nfc: Better emulate NTAG I2C SECTOR_SELECT behavior
* nfc: Fix non-I2C Ultralight read
  Per datasheet, max sector for SECTOR_SELECT is 0xfe, so 0xff is OK
  as uninit value
* nfc: Only read sig for NTAG if supported
  Attempting to read signature breaks immediate call to sector select on
  NTAG I2C original for some reason, so don't read signature if the
  command is not supported

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-05-26 15:55:29 +03:00
..
targets RFC: NTAG I2C support (#1227) 2022-05-26 15:55:29 +03:00
Makefile [FL-2263] Flasher service & RAM exec (#1006) 2022-04-13 23:50:25 +03:00
ReadMe.md Fixed README formatting & outdated information (#1123) 2022-04-15 21:26:23 +04:00

Flipper firmware

What does it do?

  • RTOS
  • FuriHAL
  • FuriCore
  • Services
  • Applications

Targets

Name Firmware Address Reset Combo DFU Combo
f7 0x08000000 L+Back, release both L+Back, release Back

Also there is a "hardware" ST bootloader combo available even on a bricked or empty device: L+Ok+Back, release Back, Left. Target independent code and headers in target/include folders. More details in documentation/KeyCombo.md

Building

With dev docker image:

docker-compose exec dev make -C firmware

With toolchain installed in path:

make -C firmware

Build Options

  • DEBUG - 0/1 - enable or disable debug build. Default is 1.
  • COMPACT - 0/1 - enable or disable compiler optimizations. Significantly reduces binary size. Default is 0.
  • TARGET - string - target to build. Default is f7.
  • RAM_EXEC - 0/1 - whether to build full firmware or RAM-based stage for firmware update. 0 is default, builds firmware.

Building self-update package

make DEBUG=0 COMPACT=1 updater_package

Flashing

Using SWD (STLink):

make -C firmware flash

Or use DFU (USB):

make -C firmware upload

Debug

Using SWD (STLink):

make -C firmware debug