描述:客户调试SPI副屏时调用spi_write系统直接卡死
刚开始看是权限问题,在tz中修改将NsOwner从bp修改到了ap,但出现dump,如上log
tz中spi工作在GSI模式下,搜索发现SPI GSI_MODE下不能使用局部buffer来进行传输,于是在tz中将bAllowFifo标志改成TRUE,问题就解决了,另外也可以在代码中将传输buffer定义为全局buffer。
diff --git a/trustzone_images/core/settings/buses/qup_accesscontrol/qupv3/config/nicobar/QUPAC_Access.c b/trustzone_images/core/settings/buses/qup_accesscontrol/qupv3/config/nicobar/QUPAC_Access.c
index 484b66287..079418bba 100755
--- a/trustzone_images/core/settings/buses/qup_accesscontrol/qupv3/config/nicobar/QUPAC_Access.c
+++ b/trustzone_images/core/settings/buses/qup_accesscontrol/qupv3/config/nicobar/QUPAC_Access.c
@@ -31,7 +31,7 @@
const QUPv3_se_security_permissions_type qupv3_perms_default[] =
{
/*PeriphID, ProtocolID, Mode, NsOwner, bAllowFifo, bLoad, bModExcl */
- { QUPV3_0_SE0, QUPV3_PROTOCOL_SPI, QUPV3_MODE_GSI, AC_TZ, FALSE, TRUE, TRUE }, // NFC eSE
+ { QUPV3_0_SE0, QUPV3_PROTOCOL_SPI, QUPV3_MODE_GSI, AC_HLOS, TRUE, TRUE, TRUE }, // NFC eSE
{ QUPV3_0_SE1, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO, AC_HLOS, TRUE, TRUE, FALSE }, // SMB/EEPROM/PM8008/Ext PD control
{ QUPV3_0_SE2, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO, AC_HLOS, TRUE, TRUE, FALSE }, // Touch
/*QUPV3_0_SE3*/