2,851
社区成员




QCS8550的平台上qsee_sfs_open 打开和创建文件失败.
代码:
static int saveDataToSfs(uint8_t *fileid, uint32_t fileid_size,
uint8_t *data, uint32_t data_size, int *count)
{
int ret = ERROR_FAIL, fd = 0;
uint32_t size = 0;
((void) fileid_size);;
fd = qsee_sfs_open((const char*)fileid, O_CREAT | O_RDWR | O_APPEND);
if (0 == fd) {
EMSG("open fs fail %s", fileid);
goto exit;
}
if (qsee_sfs_getSize(fd, &size)) {
EMSG("get fs size fail");
goto exit;
}
if (size == 0 && count != NULL) {
*count += 1;
}
ret = qsee_sfs_write(fd, (char *)data, data_size);
if (data_size != ret) {
EMSG("write fs fail, data_size %d, write size %d", data_size, ret);
goto exit;
}
ret = SUCCESS;
exit:
if (fd && qsee_sfs_close(fd)) {
EMSG("close fs fail");
}
return ret;
}
失败日志:
:/ # cat /proc/tzdbg/qsee_log
[125792b411]<8>yltae-le: yltae Init
[12579331d9]<8>yltae-le: YLTAE: tz_app_cmd_handler start
[1257933254]<8>yltae-le: YLTAE: cmd handler, cmd_id = 2
[12579332c1]<8>yltae-le: [tae_sbsct_wd] tae_sbsct_wd start
[1257933347]<1>yltae-le: [TEE_OpenPersistentObject] [TEE_OpenPersistentObject] sID=0x1, flags=0x00000005
[125793cf54]<8>yltae-le: gpVersion_Get_Version:979 retvalue=[0xffff0008]
[125794036c]<8>yltae-le: gpFileRemove:342 retvalue=[0x2]
[12579403da]<8>yltae-le: fileIO_Remove_Data:109 retvalue=[0xffff0008]
[1257940429]<8>yltae-le: gpFileIO_Remove_File:251 retvalue=[0xffff0008]
[125794047d]<8>yltae-le: index_Read_File:188 retvalue=[0xffff0008]
[12579406c8]<8>yltae-le: gpVersion_Get_Version:979 retvalue=[0xffff0008]
[1257944b6a]<8>yltae-le: gpFileRemove:342 retvalue=[0x2]
[1257944bd1]<8>yltae-le: fileIO_Remove_Data:109 retvalue=[0xffff0008]
[1257944c25]<8>yltae-le: gpFileIO_Remove_File:251 retvalue=[0xffff0008]
[1257944c8a]<8>yltae-le: index_Read_File:188 retvalue=[0xffff0008]
[1257971224]<8>yltae-le: index_Read_Index_File:271 retvalue=[0xffff0008]
[125797128b]<8>yltae-le: index_Read_Index_File:272 retvalue=[0xffff0008]
[12579712fa]<8>yltae-le: index_Get_Index_Entry:490 retvalue=[0xffff0008]
[125797134f]<8>yltae-le: gpIndex_Get_Entry:973 retvalue=[0xffff0008]
[12579713a4]<8>yltae-le: gpHandler_Open_Handle:330 retvalue=[0xffff0008]
[1257971431]<8>yltae-le: TEE_OpenPersistentObject:177 retvalue=[0xffff0008]
[12579714a6]<8>yltae-le: qsee_sfs_open:256 retvalue=[0xffff0008]
[125797152b]<8>yltae-le: [readDataFromSfs] open fs fail /mnt/vendor/persist/data/sstcnt_id
[1257972206]<8>yltae-le: yltae App shutdown
130|:/ # cat /proc/tzdbg/log
[133278e2fd](4000a1 1c00000 125f000 125e000)
[133278e7fb](4000a3 42b00000 4216f000 61cb000)
[13327d32e3](400160 32)
[13327d515d](4000a1 1c00000 125e000 125e000)
[13327d54c6](4000a3 42b00000 4216d000 61cb000)
[13327d7437](4000a1 1c00000 122f000 122f000)
[13327d7783](4000a3 42b00000 4213d000 61cb000)
[13327e397e](40018f yltae-le 1 1 2f000 20000 10000 4000)
[13327e3e44](4000a1 1c00000 121f000 121f000)
[13327e41d7](4000a3 42b00000 4212c000 61cb000)
[13327e44de](4000a1 1c00000 11ff000 11ff000)
[13327e4838](4000a3 42b00000 4210b000 61cb000)
[13327e4b5a](4000a1 1c00000 11fb000 11fb000)
[13327e4ed0](4000a3 42b00000 42106000 61cb000)
[13327e542f](400023 yltae-le 0)
[13327e57ab](400318 796c7461652d6c65 0 0 0 0 0 0 0 0)
[13327e83c4](40015d 643e61edb 3)
[13327e861b](40015d 643e61edb 3)
[13327e8819](40015d 643e61edb 3)
[13327e8aec](40015d 643e61edb 3)
[13327e8cf4](40015d 643e61edb 3)
[13327ea569](400319 796c7461652d6c65 0 0 0 0 0 0 0 0)
[13327f089e](40015d 643e61edb 3)
[13327f0aba](40015d 643e61edb 3)
[13327f0d85](40015d 643e61edb 3)
[13327f3933](40015d 643e61edb 3)
[13327faee2](400128 a 7 10001 6442464d0 11)
[13327ff4aa](400128 a 7 10001 6442464d0 11)
[133281ee71](40011e)
[133281ef4b](400128 ffffffa5 0 10000 6442464d0 0)
[133281f69c](40011e)
[1332d55b6e](4000a1 1c00000 125e000 125e000)
[1332d56020](4000a3 42b00000 4216e000 61cb000)
[1332d8c709](600064 c 871b3cc0 1 b)
[1332d8c871](30001f)
[1332d8c943](40005b)
[1332d8cae7](400023 fffffffffffffed9)
使用系统中带上的测试程序:
vendor/qcom/proprietary/securemsm/sampleclient/qseecom_sample_client.c
将CLIENT_CMD0_GET_VERSION的发送CMD实际改为CLIENT_CMD5_RUN_SFS_TEST
再执行 qseecom_sample_client v smplap64 0 1
结果如下:
最后的部分的咯个log可以看到, test pass了:
[13755efda]<1>smplap64: qsee_sfs_seek Tell overall file size passed
[13755f0d9]<1>smplap64: qsee_sfs_close() PASSED
[1375607d4]<1>smplap64: [TEE_OpenPersistentObject] [TEE_OpenPersistentObject] sID=0x1, flags=0x00000004
[1375b61c7]<1>smplap64: qsee_sfs_rm(etest_sfs_file2) PASSED
[1375b648f]<1>smplap64: qsee_sfs_rm time used 18
[1375b65f6]<1>smplap64: -- End tz_app_sfs TESTS PASSED ---------------------------------
[1375b675e]<1>smplap64: ****PASSED : SFS unit Test
[1375bf8e3]<1>smplap64: SAMPLE App shutdown
[1375bfbb0]<1>smplap64: SAMPLEApp destructor2
[1375bfd0c]<1>smplap64: SAMPLEApp destructor
目前sfs可以跑通,你那边也可以尝试下.