Bring-up NFC06A1 on NUCLEO-F446RE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-11-19 5:59 AM
Hello Community,
I am new in the topic of nfc and programming of nucleo boards.
So, the questions can seem to be very stubid ;)
For a project I try to bring up a X-Nucleo-NFC06A1 on top of a Nucleo -F446RE.
On web (ST,...) I found code examples for different nucleo boards.
If I import the supported examplary projects into the Cube IDE, everything works quite well...but with the wrong Nucleo board.
I can't find any guidline to bring up the NFC extension board with the F446RE.
And also the NFC06A1 cannot be imported via Devcie config Tool (software packets).
So my (stupid) questions:
- Is there a guidline / video / ... available which describes the steps to port the existing examples to the f446re
- What files of the Middleware/Driver should be included to get the NFC06A1 running in from a default F446RE project
- How should the f446re be configured (SPI,...)
Thanks for every helpfull comment,
Sebastian
Solved! Go to Solution.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-12-01 5:43 AM
Hi Sebastian,
there is no specific linker option or lib/libpathc/etc.. Make sure rfal_nfc.c is compiled and that rfal_nfc.o is in the list of objects being linked by the linker.
Rgds
BT
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-11-22 1:03 AM
Hi Sebastian and welcome to ST community.
First of all, I would recommend to use the ST25 Embedded NFC library that is the most up to date package. This package is build on top of NUCLEO-L476RG but it can be ported on other Nucleo board such as the NUCLEO-F446RE. This has to be done "half" manually.
I would suggest you use STM32CubeMX to configure the SPI and the various GPIOs on your NUCLEO-F446RE:
- SPI (Full duplex master, Motorola format, 8 bits, MSB first, HW NSS disable - Software NSS, CPOL Low, CPHA 2 edges baud rate up to 5MBits/s
- GPIO
- IRQ_3916 external Interrupt mode with rising edge trigger detection
- SPI_CS: output push pull
- LEDs: output push pull
- See UM2615 (Getting started with the NFC card reader expansion board based on ST25R3916 for STM32 and STM8 Nucleos) for the pin assignment
Then you just need to copy the /* USER */ parts of the main.c (and add st25r3916Isr() in EXTI0_IRQHandler) and update the platform.h with the pin mapping
Last step
- add the various RFAL files in your project
- update the main.c to add the calls to demoIni and demoCycle
- update the include path and the defines (add USE_LOGGER and ST25R3916) in the compiler options
I've attached the NUCLEO-L476RG ioc file (STM32CubeMX) for reference.
Rgds
BT
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-11-30 4:28 AM
Hello Brian,
thanks for your answer.
I followed your instructions to port one of the basic examples to the F446RE.
It works up to the point, that some "undefined reference to" errors occur.
I already checked the forum to solve the problem, but without success.
It seems to be a linker problem...but to which library path i have to link?
The project structure is
Do you have any further information which helps to get the system running?
Regards,
Sebastian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-11-30 5:34 AM
Hi Sebastian,
the mentioned functions are defined in rfal_nfc.c. Should be under the last directory of the shown "Middlewares".
BR, Ulysses
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-12-01 5:38 AM
Hi Ulysses,
thanks for your reply.
I already found the references in the rfal_nfc.c, I can use the ctrl-shortcut to go (from demo_polling.c to rfal_nfc.c) to the reference of the corresponding function. Hence, it seems to be a problem with the linker.
So my question: Which Library / Library-Path has to be add in the linker option?
This doesn't work.
BR, Sebastian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-12-01 5:43 AM
Hi Sebastian,
there is no specific linker option or lib/libpathc/etc.. Make sure rfal_nfc.c is compiled and that rfal_nfc.o is in the list of objects being linked by the linker.
Rgds
BT
