RT1060-EVK BOARD_SDRAM with Thread-X tx_byte_allocate()

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

RT1060-EVK BOARD_SDRAM with Thread-X tx_byte_allocate()

Jump to solution
1,441 Views
chadgraham
Contributor V

Hi,

I am using a RT1060-EVK dev board with Thread-X and SDK version 2.7.0.  The SDRAM is defined as part of the default memory details and I have initialized the SDRAM using an intialization function identical to the BOARD_InitSEMC() function located in the evkmimx1060_semc SDK example.

Working with the SEMC project, there appear to be no issues with the SDRAM and everything passes.  However, in my project, when I call the tx_byte_allocation function, it fails to locate a free block.  Any suggestions would be greatly appreciated.

Edit:

I forgot to mention that I have successfully used the tx_byte_pool_create() and tx_byte_pool_allocate() to initialize and setup the system threads.  The problem that I am having seems to be directly related to a different byte pool being in the SDRAM and possibly the default values Thread-X uses to determine if a block is free.  I plan to use this as a basis for a block pool and I'm trying to allocate the memory for it.

Labels (1)
Tags (2)
0 Kudos
Reply
1 Solution
1,332 Views
chadgraham
Contributor V

Hello,

I was able to fix the issue by doing an aggressive comparison between my code and the SEMC example provided by the SDK.  Despite my application being based on the RT1060 dev kit and using the SDK's configuration/setup, two of the SEMC pins were not routed and all of the SEMC pins needed to be setup.  After matching the pin configuration with that of the SEMC example, the SDRAM is now working properly.

View solution in original post

0 Kudos
Reply
2 Replies
1,333 Views
chadgraham
Contributor V

Hello,

I was able to fix the issue by doing an aggressive comparison between my code and the SEMC example provided by the SDK.  Despite my application being based on the RT1060 dev kit and using the SDK's configuration/setup, two of the SEMC pins were not routed and all of the SEMC pins needed to be setup.  After matching the pin configuration with that of the SEMC example, the SDRAM is now working properly.

0 Kudos
Reply
1,332 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Chad Graham,

Thank you for your interest in NXP Semiconductor products and
for the opportunity to serve you.
I'd like to suggest you try another mechanism to initialize the SDRAM, then works with the Thread-X.
The Image Vector Table (IVT) is the data structure that the ROM reads from the boot device supplying the program image containing the required data components to perform a successful boot.
The IVT includes a pointer to Device Configuration Data
(DCD) which allows the boot ROM code to obtain the
SOC configuration data from an external program image residing on the boot device. As an example, the DCD can be used to program the SDRAM controller for optimal settings, improving the boot performance.
You can learn more information about the Device Configuration Data (DCD) by reviewing the Device Configuration Data (DCD) section in the RM.
In addition, the SDK library provides the demo project with the DCD feature option.
Please give a try.

Have a great day,
TIC

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply