Ameba UM0173 Realtek Pro User Manual En
User Manual:
Open the PDF directly: View PDF
.
Page Count: 24
| Download | |
| Open PDF In Browser | View PDF |
UM0173 AmebaPro user manual Abstract AmebaPro is a high-integrated IC. Its features include 802.11 Wi-Fi, H.264 video codec, Audio Codec. This manual introduce users how to develop AmebaPro , including SDK compiling and downloading image to AmebaPro. UM0166 Table of Contents 1 Compiling and downloading ................................................................................ 4 1.1 SDK Project inroduction .............................................................................................4 1.2 Compile program .......................................................................................................4 1.2.1 1.2.2 1.2.3 Compile big CPU ................................................................................................................................4 Compile little CPU .............................................................................................................................5 Generating image (Bin) .....................................................................................................................5 1.3 Using image tool to download ....................................................................................5 1.4 Using JTAG/SWD to debug .........................................................................................9 1.4.1 JTAG connection ...............................................................................................................................9 2 Flash Layout....................................................................................................... 12 2.1 3 Flash Layout overview .............................................................................................. 12 How to use example source code ........................................................................ 13 3.1 Application example source ..................................................................................... 13 3.2 Peripheral example source ....................................................................................... 13 3.3 Wi-Fi example source ............................................................................................... 13 3.3.1 3.3.2 Use AT command to connect WLAN ...............................................................................................13 Wlan scenario example ...................................................................................................................14 3.4 Video example source .............................................................................................. 14 3.4.1 Using standard VLC to play streaming from AmebaPro ................................................................14 4 Memory configuration and usage ...................................................................... 16 4.1 Memory type ........................................................................................................... 16 4.1.1 4.1.2 The size and configuration in AmebaPro(big CPU) .........................................................................16 The size and configuration in AmebaPro(little CPU) .......................................................................18 4.2 Memory Configuration ............................................................................................. 19 4.2.1 4.2.2 4.2.3 Configure memory in IAR ................................................................................................................19 Configure memory in ICF file...........................................................................................................19 Memory overflow ...........................................................................................................................20 4.3 Video in DRAM ........................................................................................................ 20 4.4 Unmovable program ................................................................................................ 21 4.4.1 XIP-related Flash API .......................................................................................................................21 4.5 Counting system of memory..................................................................................... 21 August 29, 2018 2 UM0166 6 File system ......................................................................................................... 22 6.1 FAT Filesystem on Flash ........................................................................................... 22 6.1.1 Software Setup ................................................................................................................................22 6.2 Dual FAT Filesystem - File system on both SD Card and Flash..................................... 23 6.2.1 6.2.2 Hardware Setup ..............................................................................................................................23 Software Setup ................................................................................................................................23 August 29, 2018 3 UM0166 1 Compiling and downloading This chapter introduces users how to develop AmebaPro. AmebaPro is composed of one main board, one sensor board, and one daughter board with LED, light sensor, and IRLED. AmebaPro SDK provides all the example source code for the function mentioned above. To get start, users will need to set up the software to program the board. IAR IDE provides the toolchain for AmebaPro. It allows users to write programs, compile and upload them to your board. Also, it supports step-by-step debug. Realtek also provides Image Tool for users to do downloading code process. 1.1 SDK Project introduction Arm TrustZone technology provides system-wide hardware isolation for trusted software. Arm TrustZone can be divided into Secure core and Non-secure core. Users can choose using TrustZone technology or not in AmebaPro. Project_is(ignore secure) is the project without Arm TrustZone technology. This project is easier to develop and suit for first-time developer. Project_tz(trust zone) is the project supporting Arm TrustZone. This project provide non-secure domain and secure domain for users to program. This project is suited for the product with security concern. 1.2 Compile program AmebaPro use the newest Big-Little architecture. Big CPU is 300MHz, supporting high speed function like WiFi, ISP, Encoder and Codec. Little CPU is 4MHz, supporting low power peripheral function. Big CPU supports power-save mode while little CPU is operating. Big CPU power-save mode can be awaked by event trigger. 1.2.1 Compile big CPU Step1. Open SDK/project/realtek_amebapro_v0_example/EWARMRELEASE/Project_is.eww. Step2. Confirm application_is in WorkSpace, right click application_is and choose “Rebuild All” to compile. Step3. Make sure there is no error after compile. August 29, 2018 4 UM0166 Communication between big CPU and little CPU is based on share memory. There are some examples in SDK explaining how this works. Please refer to Inter Channel Communication. 1.2.2 Compile little CPU Step1. Open SDK/project/realtek_amebapro_v0_example/EWARMRELEASE/Project_lp.eww. Step2. Confirm application_lp in WorkSpace, right click application_lp and choose “Rebuild All” to compile. Step3. Make sure there is no error after compile. 1.2.3 Generating image (Bin) After compile, the images partition.bin, boot.bin, firmware_is.bin and flash_is.bin can be seen in the EWARM-RELEASE\Debug\Exe. Partition.bin stores partition table, recording the address of Boot image and firmware image. Boot.bin is bootloader image; firmware_is.bin is application image, flash_is.bin links partition.bin, boot.bin and firmware_is.bin. Users need to choose flash_is.bin when downloading the image to board by PG Tool. 1.3 Using image tool to download a. before using PG tool, user should connect AmebaPro to PC and switch to download mode: August 29, 2018 5 UM0166 Step 1: connect FT232 to PC Step 2: enter test mode: put load code button on the graph to ON and reboot by power button Step 3: Use AmebaPro PG Tool to download image to AmebaPro(reference part b.) Step 4: after downloading, load code button switch OFF and reboot AmebaPro. The log can be seen in console. b. AmebaPro PG Tool usage: August 29, 2018 6 UM0166 Step 1: AmebaPro PG Tool will automatically detect UART ports,choose UART ports of AmebaPro Step 2: choose baud rate p.s. default using parity check and flow control Step 3: choose the image “flash_xx.bin” Step 4: choose the mode “ Program flash memory” Step 5: click Download to download the image to board Step 6: the progress will show in the bar and the success/fail result will show here August 29, 2018 7 UM0166 NOTE: other setting please keeps default,Flash IO : “One IO”, Flash Pin : “Dual IO”, Parity: “NONE”, Flow Control : “OFF” August 29, 2018 8 UM0166 1.4 Using JTAG/SWD to debug JTAG/SWD is a universal standard for chip internal test. The external JTAG interface has four mandatory pins, TCK, TMS, TDI, and TDO, and an optional reset, nTRST. JTAG-DP and SW-DP also require a separate power-on reset, nPOTRST. The external SWD interface requires two pins: bidirectional SWDIO signal and a clock, SWCLK, which can be input or output from the device. 1.4.1 JTAG connection Make sure the five pin (TCK,TMS,TDI,TDO 和 nTRST)connect each other as the graph below. After connection, open J-Link GDB server. Choose target device Cortex-M33(for AmebaPro), and target interface JTAG / SWD. Click OK. August 29, 2018 9 UM0166 August 29, 2018 10 UM0166 If connection succeeds, J-Link GDB server must show as below. If connection fails, J-Link GDB will show: August 29, 2018 11 UM0166 2 Flash Layout AmebaPro use Big-Little architecture and sub-mcu system design, which provide high extensibility for developers. 2.1 Flash Layout overview August 29, 2018 12 UM0166 3 How to use example source code 3.1 Application example source The examples for AmebaPro application is the SDK/common/example file. All the example provide related files including .c,.h, and readme. The readme file explains how to compile and important parameter. After opening IAR, the first step is adding example source code(.c) into application_is>utilities->example(right click example and choose Add->Add Files or drag-and-drop the file into it ). After adding example code, user should use platform_opts.h to switch on the example. For example, if users are going to use DCT function, compile flag CONFIG_EXAMPLE_DCT should be set to 1, which means #define CONFIG_EXAMPLE_DCT 1 in platform_opts.h so that the example function in example_entry will execute . After this procedure, rebuild application_is project to execute the example. 3.2 Peripheral example source Peripheral example source can help us utilize peripheral function. Peripheral example source code locates in SDK/project/realtek_amebapro_v0_example/example_sources. There are main.c and readme.txt in each example file. The main.c in the example should be used to replace original main.c( in SDK/project/realtek_amebapro_v0_example/src). The readme file explains how to compile and important parameter. After that, rebuild application_is project to execute the Peripheral example. 3.3 Wi-Fi example source 3.3.1 Use AT command to connect WLAN AmebaPro provide AT command for user to test and develop. Users can key in AT command to connect WLAN by the console in PC. AT command can be referenced in AN0025 Realtek at command.pdf. Wi-Fi direct GO and Concurrent mode are still under development, we will release in future version. August 29, 2018 13 UM0166 3.3.2 WLAN scenario example AmebaPro provide WLAN scenario example for users to develop a variety of WiFi function, the path if example is \component\common\example\wlan_scenario\example_wlan_scenario.c. This example provides many features including station mode, AP mode, Concurrent mode, WPS and P2P GO. The detail and the usage of the example can be read in readme.txt. Wi-Fi direct GO and Concurrent mode are still under development, we will release in future version. 3.4 Video example source AmebaPro provide Multimedia Framework v2. Video example code is based on this architecture. Any detail about Multimedia Framework v2 architecture can be referenced in document in UM0167. 3.4.1 Using standard VLC to play streaming from AmebaPro To VLC website https://www.videolan.org/ and download the software Run VLC and adjust some parameters: click Tools->Preference, lower left corner -> show all settings-> input/Codecs, and modify Network caching to 150ms。 August 29, 2018 14 UM0166 Media->Open Network Stream, key in URL: rtsp://xxx.xxx.xxx.xxx/test.sdp and click play August 29, 2018 15 UM0166 4 Memory configuration and usage This chapter introduces the memory in AmebaPro, including OM, RAM, SRAM, TCM, DRAM, Flash. Also, this chapter provides the guide that users can place their program to the specific memory to fit user’s requirement. However, some of program is fixed in specific memory and cannot be moved. This program is also discussed in this chapter. Reference the chapter Flash Layout if the memory is related to Flash. 4.1 Memory type 4.1.1 The size and configuration in AmebaPro(big CPU) The size and configuration in AmebaPro(big CPU) is as shown below Size(bytes) Description ITCM 128K can place instruction ROM 704K DTCM 64K can place Read/write data RAM 488K SRAM which size is 128K PSRAM 8M Choose either PSRAM or LPDDR. Evaluation Reference LPDDR XIP 32M 512K Board is attached with LPDDR。 Choose either PSRAM or LPDDR. Evaluation Reference Board is attached with LPDDR。。LPDDR is also called as DRAM Execute In Place, text section in Flash can be placed in XIP The graph of configuration in AmebaPro big CPU is as shown below: August 29, 2018 16 UM0166 August 29, 2018 17 UM0166 4.1.2 The size and configuration in AmebaPro(little CPU) The size and configuration in AmebaPro(little CPU) is as shown below Size(bytes) Description ROM 192K DTCM RAM 4K 48K can place Read/write data Is also known as SRAM The graph of configuration in AmebaPro little CPU is as shown below: August 29, 2018 18 UM0166 4.2 Memory Configuration 4.2.1 Configure memory in IAR In IAR Workspace, there are “@ERAM” and “@SRAM” group. “@ERAM” represents external RAM, which can be known as PSRAM or LPDDR. “@SRAM” represents SRAM. Except “@ERAM” and “@SRAM” group, the rest of text section will be placed in XIP. If users want to place specific text section of source file into PSRAM/LPDDR, users can drag-and-drop the files into “@ERAM”. For example, text section of “test.c” will be placed in PSRAM/LPDDR as the graph above. If users want to place specific source file into SRAM, users can drag-and-drop the files into “@SRAM”. For example, “flash_api.c”, “flash_fatfs.c”, “hal_flash.c” is placed in SRAM as the graph above. 4.2.2 Configure memory in ICF file IAR uses ICF (IAR Configuration File) to configure memory allocation so users can configure memory allocation by ICF file. August 29, 2018 19 UM0166 ICF file of Big CPU in AmebaPro locates: “SDK/project/realtek_amebapro_v0_example/EWARM-RELEASE/ application_is.icf” Open “application_is.icf” with editor. There are some memory regions in it, which is: ITCM_RAM_region DTCM_RAM_region RAM_region RAM_NC_region ERAM_region XIP_FLASH_region Users can reference IAR document if users don’t know the format of ICF. 4.2.3 Memory overflow In default, AmebaPro place text section in XIP area. If XIP does not have enough space, it will show the errors as below when linking. Error[Lp011]: section placement failed unable to allocate space for sections/blocks with a total estimated minimum size of 0xa0051 bytes (max align 0x8) in <[0x9bf80140-0x9bffffff]> (total uncommitted space 0x7fec0). The solution is to move the program in XIP to other region. 4.3 Video in DRAM Video source example costs a lot of memory: Stream 1: H264 1080p, 15fps, bitrate 2M + 8K AAC Stream 2: 720p, 30fps, bitrate 1M + 8K AAC Snapshot mode: 720p, JPEG Level 5 EX: Video costs 30.58MB in DRAM 1080p H264: Encoder: 6.54MB, ISP buffer: 2.97 * 3 = 8.91MB; Encoder buffer pool: 2.97MB , total 18.42MB 720p H264: Encoder: 2.92MB, ISP buffer: 1.32 * 4 = 5.28MB; Encoder buffer pool: 1.32MB , total 9.52MB August 29, 2018 20 UM0166 4.4 720p JPEG: Encoder: 3.21KB, ISP buffer: 1.32 MB; Snapshot buffer: 1.32MB , total 2.64MB Unmovable program 4.4.1 XIP-related Flash API Because XIP use flash interface so that flash api are placed in SRAM. Users cannot move these file to other place, including: flash_api.c flash_fatfs.c hal_flash.c. 4.5 Counting system of memory Please refer to UM0070. August 29, 2018 21 UM0166 6 File system AmebaPro support file system based on flash and SD card and AmebaPro can support these two storages simultaneously. 6.1 FAT Filesystem on Flash Flash file system example is located in component\common\example\flash_fatfs 6.1.1 Software Setup First, enable the Flash FATFS example in (project)\inc\platform_opts.h: /* For FLASH FATFS example*/ #define CONFIG_EXAMPLE_FLASH_FATFS #if CONFIG_EXAMPLE_FLASH_FATFS #define CONFIG_FATFS_EN 1 1 #if CONFIG_FATFS_EN // fatfs version #define FATFS_R_10C #define FATFS_DISK_FLASH 1 #endif N #endif e Next, modify parameters in component\common\file_system\fatfs\r0.10c\include\ffconf.h: … #define _USE_MKFS 1//0 /* 0:Disable or 1:Enable */ … … … #define _MAX_SS 4096//512 1 … Please note that the flash memory base for the flash filesystem used in the Flash FATFS example is defined in the file flash_fatfs.c: August 29, 2018 22 UM0166 … #define FLASH_APP_BASE 0x180000 … Finally, rebuild the project and download active application to DEV board. 6.2 Dual FAT Filesystem - File system on both SD Card and Flash Dual file system example is located in component\common\example\fatfs_dual 6.2.1 Hardware Setup Please connect your Ameba DEV board with SD/MMC card connector as described in UM0073. 6.2.2 Software Setup Enable the DUAL FATFS example in (project)\inc\platform_opts.h:. /* For Dual FATFS example*/ #define CONFIG_EXAMPLE_FATFS_DUAL #if CONFIG_EXAMPLE_FATFS_DUAL #define CONFIG_FATFS_EN 1 1 #if CONFIG_FATFS_EN // fatfs version #define FATFS_R_10C #define FATFS_DISK_SD #define FATFS_DISK_FLASH 1 1 #endif #endif Next, modify parameters in ffconf.h: … #define _USE_MKFS … 1 #define _VOLUMES 2 … #define _MAX_SS … 4096 Please note that the flash memory base for the flash filesystem used in the Flash FATFS example is defined in the file flash_fatfs.c: August 29, 2018 23 UM0166 … #define FLASH_APP_BASE 0x180000 … Finally, rebuild the project and download active application to DEV board. August 29, 2018 24
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 24 Language : zh-TW Tagged PDF : Yes Title : Ameba Author : Emily Chou Creator : Microsoft® Word 2010 Create Date : 2018:08:29 17:46:53+08:00 Modify Date : 2018:08:29 17:46:53+08:00 Producer : Microsoft® Word 2010EXIF Metadata provided by EXIF.tools