PN7362 Firmware SDK is not working...

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

PN7362 Firmware SDK is not working...

跳至解决方案
5,809 次查看
JY2
Contributor I

Hello.
I would like to use NXP's PN7362 chip. I downloaded PN7462AU FW and SW Examples Full Version - v06.10.00 from NXP's website.
You can check the ExamplePN7462.eww IAR project by opening the ExamplePN7462AU. The project was written in old IAR, so I opened it with the latest IAR 9.30.1. When running a project with IAR 9.30.1, the following error appears. Error[467] : Cannot handle absolute value.
If you check the error, the error is detected in the part of the phhalSysSer_IAR.s file that is set to BL. An error was also found in the heap_2.c file of FreeRTOS, so I replaced the heap_2.c file, but the error is the same.
How can I resolve this error?
I ask for your help me.

0 项奖励
回复
1 解答
5,785 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi @JY2 

 

I would suggest you use the latest read library.   v7.07.  The recommended IDE is MCUXpresso.

For your issue, you can try the following step, 

  1. Replace the phhalSysSer_IAR.s with new provided
    1. Path : rdlibtop\Platform\PN7462AU\phROMIntf\phhalSysSer\src
  2. Change the Heap Selection to heap_3.c from heap_2.c
    1. For example in phExCcid.ewp file change to

From 

<name>$PROJ_DIR$\..\..\RTOS\FreeRTOS\heap_2.c</name>

To       <name>$PROJ_DIR$\..\..\RTOS\FreeRTOS\portable\MemMang\heap_3.c</name>

  1. Change the link configuration file with new Stack/Heap Sizes.       
  2.  a    In Project options follow bellow steps :danielchen_0-1682057752319.png

     

danielchen_1-1682057819114.png

 

 

danielchen_2-1682057853199.png

Save .icf file in project location.

 

Change Debugger Run To Option to main as shown below

danielchen_3-1682057906782.png

JLink Rest option to be set to Normal as below

 

danielchen_4-1682057996224.png

 

 

 

If this not work, I would suggest you use MCUXpresso IDE.

 

Regards

Daniel

 

 

 

 

 

 

 

 

 

 

 

 

在原帖中查看解决方案

标记 (1)
0 项奖励
回复
15 回复数
1,523 次查看
CheviN
Contributor I

Hello,

I am aware that my reply is late, but I wanted to point out that a small change to phhalSysSer_IAR.s seems to solve the problem.

All lines in the code matching the pattern

BL [absolute address]

have to be replaced by

LDR r4, =[absolute address]
BLX r4

This means that the first entry has to be changed into:

LDR r4, =phSysSv_OTP_SetSecrowLock
BLX r4

The phhalSysSer_IAR.s file that I modified is version 10353, which was created on March 17, 2015. I am not aware of a newer version.

Eike

0 项奖励
回复
5,786 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi @JY2 

 

I would suggest you use the latest read library.   v7.07.  The recommended IDE is MCUXpresso.

For your issue, you can try the following step, 

  1. Replace the phhalSysSer_IAR.s with new provided
    1. Path : rdlibtop\Platform\PN7462AU\phROMIntf\phhalSysSer\src
  2. Change the Heap Selection to heap_3.c from heap_2.c
    1. For example in phExCcid.ewp file change to

From 

<name>$PROJ_DIR$\..\..\RTOS\FreeRTOS\heap_2.c</name>

To       <name>$PROJ_DIR$\..\..\RTOS\FreeRTOS\portable\MemMang\heap_3.c</name>

  1. Change the link configuration file with new Stack/Heap Sizes.       
  2.  a    In Project options follow bellow steps :danielchen_0-1682057752319.png

     

danielchen_1-1682057819114.png

 

 

danielchen_2-1682057853199.png

Save .icf file in project location.

 

Change Debugger Run To Option to main as shown below

danielchen_3-1682057906782.png

JLink Rest option to be set to Normal as below

 

danielchen_4-1682057996224.png

 

 

 

If this not work, I would suggest you use MCUXpresso IDE.

 

Regards

Daniel

 

 

 

 

 

 

 

 

 

 

 

 

标记 (1)
0 项奖励
回复
5,751 次查看
JY2
Contributor I

Hello, @danielchen .

 

Thanks for your answer.

However, it does not build.
An error occurs in parts such as BLphSysSv_OTP_SetSecrowLock in the phhalSysSer_IAR.s file. Can't you solve this?
The same error occurs when replacing with the 7.07 version of phhalSysSer_IAR.s file. I would like to build a phEXMain project.
If it's impossible, I think I should use MCUXpresso.


Additionally, if I use MCUXpresso, I can't check the settings of the project on the pin settings page.
Can't you check it out?
The build is normal, but the pin setup page displays the error "The selected project is not based on MCUXpresso SDK". Is there any way to get a normal SDK? Please check.
Thank you.

 

 

JY2_0-1682294386046.png

 

0 项奖励
回复
5,700 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi @JY2 

 

I would suggest you use MCUXpresso.

For PN7462 compile issue , please refer to below link

https://community.nxp.com/t5/MCUXpresso-IDE/PNEV7462C-examples-don-t-compile-with-MCUXpresso/m-p/142...

 

Regards

Daniel

0 项奖励
回复
5,696 次查看
JY2
Contributor I

HI, @danielchen 

Thank you for your reply.

I proceeded with the link you sent me.
Compiling is normal, but I can't check the pin setting of the MCU as shown in the picture below.
Can't you check the contents of the pin setting of the MCU?
I want to check how you set it up in the SDK provided.
I would appreciate it if you could check and change the PIN settings on the development board.
Thank you.

JY2_0-1682496965503.png

JY2_1-1682496972142.pngJY2_2-1682496980054.png

 

 

0 项奖励
回复
5,688 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi @JY2 :

 

Currently the config tool supports i.MX RT,  Kinetis, LPC,  PN76.  unfortunately not support PN74.

For PN74, you need to manually config.

 

Regards

Daniel

0 项奖励
回复
5,617 次查看
JY2
Contributor I

Hi, @danielchen !

 

Thank you for your reply.

Check page 79 of the UM10883 document as follows.

By setting precompile directive “#PHFL_HALAPI_WITH_RTOS” or “#PHFL_HALAPI_NO_RTOS” the mode of the configuration is specified.
To build example in one or another mode, comment/uncomment proper directive in the “APP_NxpBuild.h” file.

Is this the right information?
The phExMain_NoRTOS file does not seem to work properly even if you modify the mentioned part.
Please check which part of #define should be changed to operate as NO_RTOS.

Thank you.

0 项奖励
回复
5,592 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi @JY2 

 

From what I can see from the source code , the preprocessor defined symbols are "PH_OSAL_FREERTOS" and  "PH_OSAL_NULLOS" (phOsal_Config.h) 

danielchen_1-1682692262828.png

 

danielchen_0-1682691961586.png

 

But I am not sure that every demo can work with both FreeRTOS and NULLOS.  maybe some demos can.

 

Regards

Daniel

0 项奖励
回复
5,414 次查看
JY2
Contributor I

Hi, @danielchen 

 

JY2_0-1682985838916.png

I use the 7.07 version of the source code that you told me.

I changed "PH_OSAL_FREERTOS" to "PH_OSAL_NULLOS" in the project-Properties-MCUC Compiler-Preprocessor as shown in the screen you captured. However, the source code is not built.

The 298th line of the file "phRtos_NoRtos.c"
"__phUser_EnterCriticalSection();" C:/workspace/NXP/SW368332/Platform/PN7462AU/phRtos/src/phRtos_NoRtos.c:298: multiple definition of `SysTick_Handler'; ./phOsal/src/NullOs/portable/phOsal_Port_PN74xxxx.o:C:/workspace/NXP/SW368332/RTOS/phOsal/src/NullOs/portable/phOsal_Port_PN74xxxx.An error message such as c:156: first defined here is output.


It may not work normally if I modify it to my mind. Does this SDK not support NO_RTOS mode?
I'd appreciate it if you could let me know if there's any additional work.

I look forward to hearing from you.

Thank you.

0 项奖励
回复
5,282 次查看
danielchen
NXP TechSupport
NXP TechSupport

@JY2 

 

Yes, I can reproduce your issue on my side, I will check it and update you later.

 

Regards

Daniel

0 项奖励
回复
5,257 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi  @JY2 

 

May I know why you need this demo with NULLOS,  because it does not make sense with NULLOS , this demo involved USB task, clif task, CT task and maybe other tasks.

 

Regards

Daniel

0 项奖励
回复
5,150 次查看
JY2
Contributor I

Hi, @danielchen .

The reason why I want NULLOS is because the UM10883.pdf document says that it also supports without RTOS.

(
UM10883.pdf
9.2 PN7462AU_ex_phExMain – (CLIF + CTIF functionality)
9.2.3 FreeRTOS usage in this example
Example can be built in two configuration modes, with FreeRTOS and without FreeRTOS support.

By setting precompile directive “#PHFL_HALAPI_WITH_RTOS” or “#PHFL_HALAPI_NO_RTOS” the mode of the configuration is specified.
)


Also, it's because I only worked on projects that are not based on RTOS.


I understood that the examples provided by NXP also support because they are divided into #define RTOS and NULLOS.
Should I understand that the project is configured based on RTOS and that only a few support NULLOS?


Thank you for your valuable time.

Regards.

0 项奖励
回复
5,115 次查看
danielchen
NXP TechSupport
NXP TechSupport

Yes.

0 项奖励
回复
5,227 次查看
danielchen
NXP TechSupport
NXP TechSupport

@JY2 

 

This demo is RTOS based, you can see this info from readme file.

danielchen_0-1683252279919.png

I tried Ex6_LPCD demo , it can build with NULL OS.

Hope this helps.

 

Regards

Daniel

 

0 项奖励
回复
5,252 次查看
JY2
Contributor I

@danielchen 

 

Thank you for your kind consideration.

I look forward to hearing from you soon.

 

Regards

JY.

0 项奖励
回复