Giter Club home page Giter Club logo

nxp_sensor_sdk's People

Contributors

purdurnr avatar robertrostohar avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

zigamahne

nxp_sensor_sdk's Issues

Add Ninja to software prerequisite

cbuild has a dependency on Ninja package. The README.md should highlight this software prerequisite to install Ninja and set up into environment.

Add sensors pack example for STM32

Is it possible to add one example of sensor (FXLS8974CF) pack for STM32 EVB. That way we demonstrate real benefit of having sensors interfaces and open-CMSIS pack defined that can work with MCUs (NXP and non-NXP) having Arduino UNO support. It would be a real good demonstration showcasing actual benefit of this effort.

Exercise to add LPC55S69 board support

I am working through steps to add additional boards. I added branch
The LPC55S69 is currently supported in the ISSDK. So files required exist in other SDK releases.
I have worked through the immediate updates. I am able to get the csolution and cbuild to initiate.
Now there are several missing elements that I am working through.
Here is what I found when working through process:

  1. There were differences in defines in the board file lpc55s69.c : kClockFlexcomm7 VS kClockFlexComm7. This was likely differences between versions of ISSDK and SDK board files? Or differences between all boards? I will see with others. NXP can standardize on one format.
  2. LPC55S69.c had I2C_S1_S_SCL_PIN vs. LPC54114.c had I2C_S_SCL_PIN. Noticed when adding ARM_DRIVER_I2C mapping to the CMSIS Driver. This difference could be required, but mapping in .c file should be same for consistency. Any difference between S1 and S2 could possibly be taken care of by the "Jumper" setting values in the cLayer files? Also had SPI7 vs SPI5... small difference to be expected in these BSP type files.
  3. Arduino Connections NOT included in default LPC55S69 .c/.h . This caused more updates to support the pin control and pin mux settings. Adding to LPC55S69.c, but Amit and I discussed these may be better added to the board.c file under RTE. These settings should be included in all boards that include Arduino and MikroE expansion headers. Will work with Config Tool teams to propose updates and/or simple ability to add config settings (Would this be a use of "Generator" in cSolution? Where Generator could be run when pack is added to update the board.c file for the Arduino settings? OR would you use a #define that would be set when target-type or layer is selected)

Still getting Error: L6218E: Undefined symbol Driver_I2C4 (referred from fxls8974cf_interrupt.o).
When I build the LPC55S69 cprj
Working to identify differences.

Delivery of the ISSDK in Pack format

First question from initial review. How will the ISSDK be delivered in a pack.

  • BSP should provide boards information.
  • Would Shield folder be another BSP, or included in an ISSDK pack? Forward looking, would think Shield would be a BSP itself?
  • ISSDK Middleware is delivered in MSP (Middleware Software Pack).
    • middleware files
    • examples (This makes me ask how Shields are included. As a BSP referenced in cSolution? Or folder /shields? Upkeep?)

pdsc file would capture the middleware files and example cSolutions/cProjects. Then IDE tool loads MSP and sees middleware and Examples.
Current version is good for CLI and VS Code "folder" approach but interested in eventual Pack delivery.

Build doesnt work due to limitation of CMAKE_OBJECT_PATH_MAX

cbuild doesnt work due to limitation of CMAKE_OBJECT_PATH_MAX. This happened twice, first i tried FXLS8974CF interrupt example from my downloads folder and i got same issue. I created folder on desktop and ran from there, the build worked fine. But now motion_wakeup example build doesn't work due to same limitation. Please see build log for motion_wakeup example.

C:\Users\nxa11926\Desktop\NXP_Sensor_SDK-main\examples\issdk\sensors\fxls8974cf\motion_wakeup> cbuild.exe .\fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.cprj
info cbuild: Build Invocation 1.4.0 (C) 2022 Arm Ltd. and Contributors

M650: Command completed successfully.

M652: Generated file for project build: 'C:/Users/nxa11926/Desktop/NXP_Sensor_SDK-main/examples/issdk/sensors/fxls8974cf/motion_wakeup/tmp/fxls8974cf_motion_wakeup/frdmk22f_a8974/debug/CMakeLists.txt'
-- The ASM compiler identification is ARMClang
-- Found assembler: C:/Keil_v5/ARM/ARMCLANG/bin/armclang.exe
-- Configuring done
CMake Warning in CMakeLists.txt:
The object file directory

C:/Users/nxa11926/Desktop/NXP_Sensor_SDK-main/examples/issdk/sensors/fxls8974cf/motion_wakeup/tmp/fxls8974cf_motion_wakeup/frdmk22f_a8974/debug/CMakeFiles/fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.dir/./

has 207 characters. **The maximum full path to an object file is 250
characters (see CMAKE_OBJECT_PATH_MAX). Object file

82a379cee12235e3e7c393925cefc520/fsl_adc16.o

cannot be safely placed under this directory. The build may not work
correctly.**

-- Generating done
-- Build files have been written to: C:/Users/nxa11926/Desktop/NXP_Sensor_SDK-main/examples/issdk/sensors/fxls8974cf/motion_wakeup/tmp/fxls8974cf_motion_wakeup/frdmk22f_a8974/debug
[48/48] Linking C executable C:\Users\nxa11926\Desktop\NXP_Sensor_SDK-main\ex...wakeup\frdmk22f_a8974\debug\fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.axf
FAILED: C:/Users/nxa11926/Desktop/NXP_Sensor_SDK-main/examples/issdk/sensors/fxls8974cf/motion_wakeup/out/fxls8974cf_motion_wakeup/frdmk22f_a8974/debug/fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.axf
cmd.exe /C "cd . && C:\Keil_v5\ARM\ARMCLANG\bin\armlink.exe --cpu=Cortex-M4 --scatter="C:/Users/nxa11926/Desktop/NXP_Sensor_SDK-main/boards/frdmk22f/RTE/Device/MK22FN512VLH12/MK22FN512xxx12_flash.scf" --entry=Reset_Handler --strict --info summarysizes --remove --keep=(.crp) --keep=(.FlashConfig) --diag_suppress 6314,6319 --debug --via=CMakeFiles\fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.rsp -o C:\Users\nxa11926\Desktop\NXP_Sensor_SDK-main\examples\issdk\sensors\fxls8974cf\motion_wakeup\out\fxls8974cf_motion_wakeup\frdmk22f_a8974\debug\fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.axf --list=C:\Users\nxa11926\Desktop\NXP_Sensor_SDK-main\examples\issdk\sensors\fxls8974cf\motion_wakeup\out\fxls8974cf_motion_wakeup\frdmk22f_a8974\debug\fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.axf.map && cmd.exe /C "cd /D C:\Users\nxa11926\Desktop\NXP_Sensor_SDK-main\examples\issdk\sensors\fxls8974cf\motion_wakeup\tmp\fxls8974cf_motion_wakeup\frdmk22f_a8974\debug && C:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --i32combined --output C:/Users/nxa11926/Desktop/NXP_Sensor_SDK-main/examples/issdk/sensors/fxls8974cf/motion_wakeup/out/fxls8974cf_motion_wakeup/frdmk22f_a8974/debug/fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.hex C:/Users/nxa11926/Desktop/NXP_Sensor_SDK-main/examples/issdk/sensors/fxls8974cf/motion_wakeup/out/fxls8974cf_motion_wakeup/frdmk22f_a8974/debug/fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.axf && cd /D C:\Users\nxa11926\Desktop\NXP_Sensor_SDK-main\examples\issdk\sensors\fxls8974cf\motion_wakeup\tmp\fxls8974cf_motion_wakeup\frdmk22f_a8974\debug && C:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --bin --output C:/Users/nxa11926/Desktop/NXP_Sensor_SDK-main/examples/issdk/sensors/fxls8974cf/motion_wakeup/out/fxls8974cf_motion_wakeup/frdmk22f_a8974/debug/fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.bin C:/Users/nxa11926/Desktop/NXP_Sensor_SDK-main/examples/issdk/sensors/fxls8974cf/motion_wakeup/out/fxls8974cf_motion_wakeup/frdmk22f_a8974/debug/fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.axf""
Fatal error: L6002U: Could not open file CMakeFiles/fxls8974cf_motion_wakeup.debug+frdmk22f_a8974.dir/48a65af2d07af921aa89cbca7c12f3e6/fsl_component_generic_list.o: No such file or directory
Finished: 0 information, 0 warning, 0 error and 1 fatal error messages.
ninja: build stopped: subcommand failed.
error cbuild: error executing 'cmake' build
PS C:\Users\nxa11926\Desktop\NXP_Sensor_SDK-main\examples\issdk\sensors\fxls8974cf\motion_wakeup>

Build ERROR - Undefined Driver_I2C0

I have been able to run "layer list" and "convert" commands for the example projects.
I am focused on the frdmk22f_a8974 builds. I have that board plugged in.
I get following error when I build any of the cprj files.
Any suggestions on what step I am missing?

I look up and Driver_I2C0 is defined in frdm_k22f.h as "extern ARM_DRIVER_I2C Driver_I2C0;"
I run the following: cbuild fxls8974cf_interrupt.debug+frdmk22f_a8974.cprj

Succesfully links. Then fails with following:
FAILED: C:/GIT/NXP_Sensor_SDK/examples/issdk/sensors/fxls8974cf/interrupt/out/fxls8974cf_interrupt/frdmk22f_a8974/debug/fxls8974cf_interrupt.debug+frdmk22f_a8974.axf
cmd.exe /C "cd . && C:\Keil_v5\ARM\ARMCLANG\bin\armlink.exe --cpu=Cortex-M4 --scatter="C:/GIT/NXP_Sensor_SDK/boards/frdmk22f/RTE/Device/MK22FN512VLH12/MK22FN512xxx12_flash.scf" --entry=Reset_Handler --strict --info summarysizes --remove --keep=(.crp) --keep=(.FlashConfig) --diag_suppress 6314,6319 --via=CMakeFiles\fxls8974cf_interrupt.debug+frdmk22f_a8974.rsp -o C:\GIT\NXP_Sensor_SDK\examples\issdk\sensors\fxls8974cf\interrupt\out\fxls8974cf_interrupt\frdmk22f_a8974\debug\fxls8974cf_interrupt.debug+frdmk22f_a8974.axf --list=C:\GIT\NXP_Sensor_SDK\examples\issdk\sensors\fxls8974cf\interrupt\out\fxls8974cf_interrupt\frdmk22f_a8974\debug\fxls8974cf_interrupt.debug+frdmk22f_a8974.axf.map && cmd.exe /C "cd /D C:\GIT\NXP_Sensor_SDK\examples\issdk\sensors\fxls8974cf\interrupt\tmp\fxls8974cf_interrupt\frdmk22f_a8974\debug && c:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --i32combined --output C:/GIT/NXP_Sensor_SDK/examples/issdk/sensors/fxls8974cf/interrupt/out/fxls8974cf_interrupt/frdmk22f_a8974/debug/fxls8974cf_interrupt.debug+frdmk22f_a8974.hex C:/GIT/NXP_Sensor_SDK/examples/issdk/sensors/fxls8974cf/interrupt/out/fxls8974cf_interrupt/frdmk22f_a8974/debug/fxls8974cf_interrupt.debug+frdmk22f_a8974.axf && cd /D C:\GIT\NXP_Sensor_SDK\examples\issdk\sensors\fxls8974cf\interrupt\tmp\fxls8974cf_interrupt\frdmk22f_a8974\debug && c:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --bin --output C:/GIT/NXP_Sensor_SDK/examples/issdk/sensors/fxls8974cf/interrupt/out/fxls8974cf_interrupt/frdmk22f_a8974/debug/fxls8974cf_interrupt.debug+frdmk22f_a8974.bin C:/GIT/NXP_Sensor_SDK/examples/issdk/sensors/fxls8974cf/interrupt/out/fxls8974cf_interrupt/frdmk22f_a8974/debug/fxls8974cf_interrupt.debug+frdmk22f_a8974.axf""
Warning: L9931W: Your license for feature mdk_pro_compiler5 will expire in 29 days
Error: L6218E: Undefined symbol Driver_I2C0 (referred from fxls8974cf_interrupt.o).

Use of ISSDK Middleware with On-board Sensor

Amit and I discussed using this solution for the same sensors that are on an evk board.
The evk should show existence of sensor. (ss_* is Shield board; bb_* is base board)

This actually shows the 3rd scenario that was presented with customer board Layer file.
It would have unique Int and interface outside of Arduino.
This will be a good example to provide in the pack. Showing how sensor is captured in layer file on Shield vs. Board.
Board Layer YAML could provide #Arduino interface. However, it could also have "provides FXLS8974_I2C and FXLS8974_INT1".

  • Possible conflict in build?
  • Would user be capable of creating solution with 2 instances of 8974? 2 sensors, 1 from board and 1 from shield
  • Would user be able to resolve conflicts or select amongst 2 options? Error, 2 sources found for FXLS8974_I2C. They comment out or select to resolve?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.