Hi,
I'm trying to tweak the QDEC_MCUX driver so that it can be used by the mcxn947 on zephyr. The driver is not supported on zephyr for the mcxn947, it compiles after stripping the xbar switch stuff from the zephyr driver (qdec signals are not routed though an xbar switch on the mcxn947) and adding the necessary to the mcxn947 in the NXP HAL so that the memory mapping and interrupt numbers are known for this particular SOC.
Problem is, the app just freezes as soon as the driver tries to access the memory range of the QDEC peripheral. Ex. :
uint16_t tmp16 = *(volatile uint16_t *)(0x400cf000);
while the same operation works just fine on the range of an other peripheral which is already supported. Ex. :
uint16_t tmp16 = *(volatile uint16_t *)(0x40100000);
for the ENet driver. I assume the issue has to do with trusted execution, but I can't find where the address ranges have been unlocked in the first place for the peripherals which are already supported.
Thanks.
解決済! 解決策の投稿を見る。
There is no lock that prevents accessing the QDC registers and you are accessing through non-secure area with that direction. Please check that the module clock is enabled before accesing any module register.
Best regards,
Omar
There is no lock that prevents accessing the QDC registers and you are accessing through non-secure area with that direction. Please check that the module clock is enabled before accesing any module register.
Best regards,
Omar