All FAQs

Please select your question category

Search FAQs
HMI

按照如下方式修改, 可以在其它页面控制Music Layer的列表.
bool LayerBackgroundOnTimer(ITUWidget* widget, char* param)
{

if(isUSBInserted
isSDInserted isUSBRemoved isSDRemoved) waiting file table ready

{

if(!isMusicTableReady)
{

ITUScrollMediaFileListBox* musicsmfl = ituSceneFindWidget(&theScene, "MusicScrollMediaFileListBox");
assert(musicsmfl);

if ((musicsmfl->mflistbox.mflistboxFlags & ITU_FILELIST_BUSYING) == 0 &&

(musicsmfl->mflistbox.mflistboxFlags & ITU_FILELIST_CREATED) == 0 &&
(musicsmfl->mflistbox.mflistboxFlags & ITU_FILELIST_DESTROYING) == 0)

{

printf("music table is ready! \r\n");
isMusicTableReady = true;
return true;

}

else
{

printf("waiting music table ready! mflistboxFlags=0x%x\r\n", musicsmfl->mflistbox.mflistboxFlags);
ituWidgetUpdate(musicsmfl, ITU_EVENT_TIMER, 0, 0, 0);增加这句刷新列表
return true;

}

}

}
return false;

}

linphone似乎可以支持,這部份需請客戶自行研究

LCD panel 盡量採用RGBIF, 點亮起來最簡單, 比較不耗工,
若客戶要求要 CPUIF (8080MCU) , 是也可以,
但容易卡在Panel script的設定流程上, 最耗工。

SPI(320*480) 部分:chip上没有spi的HW protocol直接支持24bit data mode(start code_8bit+RGBdata_16bit),需要sw将RGBdata_16bit转换成24bit data mode。最后将24bitdata 发送出去。

沒有虛擬地址, 在 MMU 的設定上, 物理地址與虛擬地址設定一致, 直接操作访问物理地址.

內存的分配定義在 openrtos/boot/fa626/default.lds 裡面,最終軟件建置完成之後,以 doorbell_indoor2 為例,會有一個 symbol 檔放在 build\openrtos\doorbell_indoor2\project\doorbell_indoor2\doorbell_indoor2.symbol,移除不需要的資訊,文件內容解說如下:

[Nr] Name ... Addr ... Size
[ 1] .reset ... 00000000 ... 0010bc ARM 的 exception handler
[ 2] .bootimage_func ... 000010bc ... 000000 目前沒用
[ 3] .power_sleep_func ... 000010bc ... 000000 目前沒用
[ 4] .power_suspend_fu ... 000010bc ... 000000 目前沒用
[ 5] .init ... 000010bc ... 000018 C++ 需要的資料結構
[ 6] .text ... 000010e0 ... 2a34b0 源碼佔的空間
[ 7] .init.text ... 002a4590 ... 00015c C++ 需要的資料結構
[ 8] .fini ... 002a46ec ... 000018 C++ 需要的資料結構
[ 9] .rodata ... 002a4708 ... 0731ca read only data
[10] .ARM.extab ... 003178d4 ... 003e28 ARM ABI 需要的資料結構
[11] .ARM.exidx ... 0031b6fc ... 00c610 ARM ABI 需要的資料結構
[12] .eh_frame ... 00327d0c ... 000048 C++ 需要的資料結構
[13] .init_array ... 00327d54 ... 000008 C++ 需要的資料結構
[14] .fini_array ... 00327d5c ... 000004 C++ 需要的資料結構
[15] .jcr ... 00327d60 ... 000004 用在 JAVA initialization function,目前沒用
[16] .data ... 00327d70 ... 048d75 有初始值的資料變數空間
[17] .tlb ... 00370ae8 ... 007518 ARM MMU TLB 表
[18] .bss ... 00378000 ... a9a590 沒有初始值的資料變數空間
[19] .mmap ... 00e12590 ... 000000 目前沒用
[20] .stack ... 00e12590 ... 004400 exception handler 到的 stack 空間
[21] .reserved ... 00e16990 ... 040040 用來存放 print buffer 與 command queue buffer
[22] .heap ... 00e569d0 ... 000000 剩下的空間給 malloc 與 LCD buffer 使用

iTE SDK-Remote IR 模組開發指南.docx 在SDK 內

  1. 設定編譯選項

路徑: project\surveillance\freertos-config.cmd

目前只提供兩個選項可供修改,其他選項請勿修改

  1. a.Main chip type

set XCPU_MASTER_TYPE=IT9070 >> IT907X系列

set XCPU_MASTER_TYPE=IT9850 >> IT985X系列

  1. b.Sensor type

set SENSOR_ID=PIXELPLUS_PO3100 >> PIXELPLUS_PO3100

set SENSOR_ID= HIMAX_HM1375   >> HIMAX_HM1375

set SENSOR_ID= NOVATEK_NT99141 >> NOVATEK_NT99141

  1. 編譯build jedi.rom

路徑: 執行 project\surveillance\freertos.cmd

  1. 編譯後產生

路徑: project\surveillance\freertos\project\surveillance\ jedi.rom

  1. 複製取代到Doorbell SDK下所對應之sensor目錄

路徑: project\doorbell_lobby\fw\HIMAX_HM1375

          project\doorbell_lobby\fw\NOVATEK_NT99141

          project\doorbell_lobby\fw\PIXELPLUS_PO3100

  1. 目前JEDI SDK所開放修改的驅動代碼為各sensor的參數設定
    1. sdk\src\sensor\*

目前只支持 SD booting,eMMC booting 沒辦法正常 booting。如果要使用 eMMC 當作 storage,建議要配置一個小的 NOR 當作 booting 用,其他資料再放在 eMMC 上面。

范例

 

/

  • @brief URLEncode 对字符串URL编码
  • @param str 原字符串
  • @param strSize 原字符串长度(不包括最后的\0)
  • @param result 结果缓冲区的地址
  • @param resultSize 结果缓冲区的大小(包括最后的\0)
  • @return: >0:resultstring 里实际有效的长度
  • 0: 解码失败. */

int URLEncode(const char* str, const int strSize, char* result, const int resultSize)
{

int i;
int j = 0;for result index
char ch;

 

if ((str==NULL)
(result==NULL) (strSize<=0) (resultSize<=0)) {

return 0;

}

 

for ( i=0; (i<strSize)&&(j<resultSize); ++i) {

ch = str[i];

if (((ch>='A') && (ch<='Z'))
((ch>='a') && (ch<='z'))

((ch>='0') && (ch<='9'))) {
result[j++] = ch;

} else if (ch == ' ') {

result[j++] = '+';

} else if (ch == '.'
ch == '-' ch == '_' ch == '*') {

result[j++] = ch;

} else {

if (j+3 < resultSize) {

sprintf(result+j, "%%%02X", (unsigned char)ch);
j += 3;

} else {

return 0;

}

}

}

 

result[j] = '\0';
return j;

}

1. 開啟Project的Kconfig後,點選File=> Load,並且載入SDK\build\_presettings中的_config_spi_nand_boot檔案

2. 載入此檔案會自動設定NAND flash設定。
3. 另外W25N01GVZEIG須設定,在Storage類別的Enable SPI NAND Boot選項中,需選擇Address HAS Dummy Byte。

Hardware Setting:
1. 硬體BOOT Config需將設定為Boot_CFG1 = 1, Noot_CFG0 = 0