Hi3716C平台SDK安装以及研究
- 格式:doc
- 大小:50.50 KB
- 文档页数:5
密级状态:绝密()秘密()内部()公开(√)RK312X_ANDROID4.4.4-SDK_V1.0_20140922发布说明(技术部,MID组)文件状态:[]正在修改[√]正式发布当前版本:V1.0作者:何云完成日期:2014-09-22审核:张帅、张小珠完成日期:福州瑞芯微电子有限公司Fuzhou Rockchips Semiconductor Co.,Ltd(版本所有,翻版必究)版本历史版本号作者修改日期修改说明备注V1.0何云2014.09.22初始发布目录1概述 (2)2主要支持功能 (2)2.1功能项说明与配置 (2)2.1.1工具说明 (2)2.1.2内核板极配置 (3)2.1.3Camera配置说明 (3)2.1.4PMIC使用说明 (3)3SSH公钥操作说明 (3)3.1SSH公钥生成 (3)3.2使用KEY-CHAIN管理密钥 (4)3.3多台机器使用相同SSH公钥 (5)3.4一台机器切换不同SSH公钥 (6)3.5密钥权限管理 (7)4REPO同步说明 (7)4.1G IT权限申请说明 (7)4.2源码获取说明 (7)5编译说明 (8)5.1编译环境搭建 (8)5.2编译步骤 (12)5.2.1kernel编译步骤 (12)5.2.2uboot编译步骤 (12)5.2.3Android编译步骤 (12)5.3烧写说明 (12)1概述本版本是配合RK312X平台发布的Android4.4.4的SDK代码。
适用于RK312X开发板以及基于其上所有开发产品。
环境编译事宜请参见第5章节编译说明。
下载代码请参考第4章节repo同步操作。
本文档提及的文档和工具,工具位于工程根目录/RKTools文件夹下,文档位于工程根目录/RKDocs文件夹下。
工具的使用说明都在工具相应目录里。
2主要支持功能参数模块名数据通信Wi-Fi、USB以太网卡、3G Dongle、USB、SDCARD应用程序图库、APK安装、谷歌市场、浏览器、计算器、日历、摄像、闹钟、下载、电子邮件、资源管理器、Gmail、谷歌地图、音乐、录音、设置、视频播放器、GTalk、、CTS2.1功能项说明与配置2.1.1工具说明与SDK同步发布的产测工具包括:烧写工具、量产工具、固件工厂工具、PCBA测试工具,整机测试APK等。
CC3200-WiFi套件用户使用手册资料版本:V 0.1归档日期:2015年06月BOM编码:201506080011目录一、整体概述 (8)1.1 简介 (8)1.2 套件特点 (8)1.3 硬件组成 (10)1.4 硬件描述 (12)1.4.1 硬件框图 (12)1.4.2 主要IC (12)1.4.3 接口描述 (13)1.4.4 LED (18)1.4.5在线调试CC3200 (20)1.4.6 KEY (22)二、开发环境介绍 (25)2.1 Code Composer Studio 6.1.0的使用 (25)2.1.1选择工作空间 (25)2.1.2在Code Composer Studio 6.1.0上运行一个已经存在的程序 (25)2.1.3目标板设置 (26)2.1.4编译并下载程序 (28)三、CC3200 MCU实验 (29)3.1 CC3200 Blinky Application (29)3.1.1概述 (29)3.1.2 应用说明 (29)3.1.3 使用说明 (29)3.2 CC3200 Timer Application (30)3.2.1 概述 (30)3.2.2应用说明 (30)3.2.3使用说明 (30)3.3 CC3200 Watchdog Application (30)3.3.1 概述 (30)3.3.2 应用说明 (30)3.4 CC32xx UART Demo Application (31)3.4.1 概述 (31)3.4.2 应用说明 (31)3.4.3 使用说明 (31)3.5 CC3200 Interrupt Demo Application (32)3.5.1 应用说明 (32)3.5.2 使用说明 (32)3.6 CC3200 Sleep-DeepSleep Application (33)3.6.1 概述 (33)3.6.2 应用说明 (33)3.6.3 使用说明 (34)3.7 CC3200 µDMA Application (35)3.7.1 概述 (35)3.7.2 应用说明 (35)3.7.3 使用说明 (35)3.8 CC32xx FreeRTOS Application (36)3.8.1 概述 (36)3.8.2 应用说明 (37)3.8.3 使用说明 (37)3.9 CC3200 AES Demo Application (38)3.9.1 概述 (38)3.9.2 应用说明 (38)3.9.3 使用说明 (38)3.10 CC3200 DES Demo Application (39)3.10.1 概述 (39)3.10.2 应用说明 (39)3.10.3 使用说明 (40)3.11 CC3200 CRC Demo Application (41)3.11.1 概述 (41)3.11.3 使用说明 (41)3.12 CC3200 SHA-MD5 Demo Application (42)3.12.1 概述 (42)3.12.2 应用说明 (43)3.12.3 使用说明 (43)3.13 CC3200 ADC (44)3.13.1 概述 (44)3.13.2 应用说明 (44)3.13.3 使用说明 (45)3.14 CC3200 PWM (46)3.14.1 概述 (46)3.14.2 应用说明 (46)3.14.3 使用说明 (46)3.15 CC3200 SPI Demo (46)3.15.1 概述 (46)3.15.2 应用说明 (47)3.15.3 使用说明 (47)3.16 CC3200 UART DMA Application (49)3.16.1 概述 (49)3.16.2 应用说明 (49)3.16.3 使用说明 (49)3.17 CC3200 Timer Count Capture Application (50)3.17.1 概述 (50)3.17.2应用说明 (51)3.17.3 使用说明 (51)3.18 CC3200 Dynamic Library Loader (52)3.18.1 概述 (52)3.18.2 应用说明 (52)3.18.3 使用说明 (52)四、CC3200 WIFI实验 (54)4.1 CC3200 Connection Policy (54)4.1.1 概述 (54)4.1.2 应用说明 (54)4.1.3 使用说明 (54)4.2 CC32xx File Operations (55)4.2.1 概述 (55)4.2.2 应用说明 (55)4.2.3 使用说明 (56)4.3 CC3200 Info Center Get Time Application (56)4.3.1 概述 (56)4.3.2 应用说明 (56)4.3.3 使用说明 (57)4.4 CC3200 Info Center Get Weather Application (58)4.4.1 概述 (58)4.4.2 应用说明 (58)4.4.3 使用说明 (58)4.5 CC3200 Getting Started with WLAN AP (59)4.5.1 概述 (59)4.5.2 应用说明 (59)4.5.3 使用说明 (60)4.6 CC3200 Getting Started with WLAN Station (61)4.6.1 概述 (61)4.6.2 应用说明 (61)4.6.3 使用说明 (62)4.7 CC32xx HTTP Server (63)4.7.1 概述 (63)4.7.2 使用说明 (63)4.8 CC3200 mDNS (67)4.8.1 概述 (67)4.9.3 使用说明 (67)4.9 CC3200 Mode-Configuration Application (69)4.9.1 概述 (69)4.9.2 应用说明 (70)4.9.3 使用说明 (70)4.10 CC32xx NWP Filter Application (70)4.10.1 概述 (70)4.10.2 使用说明 (71)4.11 P2P (Wi-Fi Direct) (71)4.11.1 概述 (71)4.11.2 应用说明 (72)4.11.3 使用说明 (72)4.12 Provisioning AP (74)4.12.1 概述 (74)4.12.2 使用说明 (74)4.13 Provisioning with SmartConfig (75)4.13.1概述和应用介绍 (75)4.13.2 应用说明 (75)4.13.3 使用说明 (75)4.14 CC32xx Provisioning WPS Application (76)4.14.1 概述 (76)4.14.2 应用说明 (76)4.14.3 使用说明 (77)4.15 Scan Policy (78)4.15.1概述 (78)4.15.2应用说明 (78)4.15.3使用说明 (78)4.16 TCP Socket (79)4.16.1 概述 (79)4.16.3 使用说明 (79)4.17 Transceiver Mode (81)4.17.1 概述 (81)4.17.2 应用说明 (81)4.17.3 使用说明 (82)4.18 UDP Socket (83)4.18.1 概述 (83)4.18.2 应用说明 (83)4.18.3 使用说明 (83)4.19 Idle Profile (85)4.19.1 概述 (85)4.19.2 应用说明 (85)4.19.3 使用说明 (86)4.20 File Download (88)4.20.1 概述和应用说明 (88)4.20.2 使用说明 (88)4.21 Deep-sleep (89)4.21.1 概述 (89)4.21.2应用说明 (89)4.21.3 使用说明 (89)4.22 Hibernate (90)4.22.1 概述 (90)4.22.2 应用说明 (90)4.22.3 使用说明 (90)4.23 Watchdog System Demo (92)4.23.1 概述 (92)4.23.2 应用说明 (92)4.23.3 使用说明 (92)4.24 TFTP Client (93)4.24.2 应用说明 (93)4.24.3 使用说明 (93)4.25 Idle Profile (Non OS) (94)4.25.1 概述 (95)4.25.2 应用说明 (95)4.25.3使用说明 (95)4.26 MQTT Client (96)4.26.1 概述 (96)4.26.2 应用说明 (96)4.26.3使用说明 (98)一、整体概述1.1 简介基于TI最新推出的 CC3200 平台。
KEIL软件的安装将带有KEIL安装软件的光盘放入光驱,打开光驱中名为“keil750A”的文件夹再打开setup文件夹,双击setup文件夹中“setup”文件即开始安装。
单击“Full Version”.。
如图所示:点击“Next”→“Yes” →”Next”,此时则须序列号(序列号在光盘keil750AHK)文件夹目录下的”sn”文件中’)输入序列号,其他四项输入任意字母。
如图:点击“Next” →Next”开始安装,点击Next” →Finish即完成安装。
USB驱动的安装:若使用的仿真器是USB接口的,则需要安装USB驱动。
打开安装光盘中的“安装USB 驱动”文件夹,双击“USB_CP2102_XP_2000”开始安装。
1.双击:“安装USB驱动”文件夹下的“USB_CP2102_XP_2000.exe”:2.单击“下一步”:3.选定安装程序的功能:选择“此功能及所有子功能将安装在本地硬盘驱动器上”4.下一步:“安装”5.安装完成。
6.连接上KEIL仿真器在设备管理器里可看到安装的驱动端口:KEIL软件的操作说明:硬件基础实验操作(以实验一八段数码管显示实验为例):将KEIL仿真器上40芯排线一端和实验箱上51CPU板上的40芯排针连接起来,将仿真器连接的USB或串口线与PC机对应的USB或串口连接起来,打开实验箱电源。
进入KEIL软件界面,点击项目/打开项目在C:\KEIL\UV2\51配套实验例程中选择实验一,内有ASM和C51两种程序,进入ASM 文件夹打开LED项目文件进入如图所示界面点击“调试/启动/停止调试”,进入调试界面,点击“调试/运行”可看到8段数码管交替显示0—F新建一个项目文件:首先进入Keil软件,点击工具栏“项目”选项中的“新项目”,如图所示:输入工程文件名称,并选则保存文件的目录(该目录位置任意,可新建文件夹),如图:为项目文件选择一个目标器件(A TMEL89C51),如图所示:点确定后会弹出一个对话框选择否.右键点击项目工作区的目标1,再弹出的菜单中选择“为目标‘目标1’选项”如图所示:在“为目标‘目标1’设置选项”中,点击“调试”菜单,在此菜单中可选择是使用硬件仿真,还是软件仿真,连接实验箱做实验时选择硬件仿真,点击硬件仿真选项后面的[设置]选项,在此对对话框中选择串口和波特率,串口根据所连电脑来决定。
Linux,Symian,j2me操作SD卡接口总结学习体会通过一段时间对Linux,Symbian,和j2me的学习和编程,使得对整个Linux,Symbian,两个系统了有了一定程度的了解,感觉上每个Linux因为可以使用C的一些函数,所以编程起来比较容易上手,但是对系统的把握和开发环境的搭建还有Linux下的数据传输都是比较的繁琐的,特别是搭建嵌入式的交叉编译环境和在开发板上运行,开发板的调试等等。
有种牵一发而动全身的感觉,虽然最后也都都搞定了,但是回过头来细细品味一下,还是很耐人寻味的。
在谈谈Symbian下的首先就是它那结构编程的思路,如果是一开始什么就开始看一些实例程序,估计会郁闷一下子,虽然Symbian编程使用的语言是用的C++ (高兴啊),但是有与Symbian对资源的分配和回收还有错误处理机制,还是够我研究一番的了。
简单总结一下在Symbian下的对手机SD卡的操作,还是环境的搭建这个环境跟在Linux下的完全不一样,因为开发Symbian的IDE和SDK的搭配有很多总组合,同样的SDK可以在VC6.0,carbide,vs2005,codewarrior等等,不同的SDK对应的机型又是不一样的,因为我用的是n73进行测试的,通过查询资料才得知需要S60_3rd_fp1的版本,还有的就是对bld.inf 和.mmp文件的研究。
Symbian的编程写法以及一些相关的概念。
在Symbian下编程给我的感觉是“工欲善其事,必先利其器”,一些基础的知识是一定少不了的。
最后来简单谈谈j2me 的总结,通过以上的一些经验和教训使我了解到了,不是很多的东西都像在windows下开发这样的“幸福”,启动vc6.0的IDE什么东西都不用操心饿,什么编译,连接,排错,等等感觉一切都是这样的方便(很怀念开发winCE时的美好时光,虽然也有很多的坎坷,但是毕竟可以使用vc6.0的小弟evc进行开发)。
sdcc 的使用说明SDCC是一款开源的C语言编译器,具有简洁、高效、可靠的特点。
本文将以SDCC的使用说明为主题,详细介绍如何安装、配置和使用SDCC。
一、安装SDCC1. 下载SDCC编译器安装包,官方网站提供了多个平台的安装包,根据自己的操作系统选择合适的版本。
2. 解压安装包到指定目录,例如将SDCC解压到C:\sdcc目录下。
二、配置SDCC1. 配置环境变量。
将SDCC的bin目录路径(例如C:\sdcc\bin)添加到系统的环境变量中,以便在任意位置都可以直接使用SDCC命令。
2. 配置编辑器。
可以根据个人喜好选择合适的编辑器,如Notepad++、Visual Studio Code等,并配置编译器路径为SDCC的bin目录。
三、使用SDCC1. 创建C语言源文件。
使用任意文本编辑器创建一个后缀为.c的源文件,例如hello.c,编写C语言代码。
2. 编译源文件。
打开命令提示符或终端,进入源文件所在目录,执行以下命令编译源文件:sdcc hello.c此命令将会生成多个文件,包括目标文件(.o)、中间文件(.asm、.lst)和可执行文件(.ihx、.hex)。
3. 烧录可执行文件。
使用烧录工具将可执行文件烧录到目标芯片或开发板上。
4. 运行程序。
通过串口终端或其他方式与目标设备进行通信,运行已烧录的程序。
四、常用选项1. -c:仅编译源文件,生成目标文件,不链接生成可执行文件。
2. -mmcs51:指定目标芯片为8051系列。
3. -o:指定输出文件的名称。
4. -I:指定头文件的搜索路径。
5. -L:指定库文件的搜索路径。
6. -l:指定链接的库文件。
五、示例下面以一个简单的LED闪烁程序为例,演示SDCC的使用过程。
```c#include <8051.h>#define LED P1_0void delay(unsigned int n){while (n--);}void main(){while (1){LED = 0; // 点亮LEDdelay(50000);LED = 1; // 熄灭LEDdelay(50000);}}```保存为blink.c,然后使用SDCC编译和链接该程序:```sdcc -mmcs51 -o blink.ihx blink.c```编译成功后,会生成blink.ihx文件,接下来可以使用烧录工具将blink.ihx烧录到8051系列芯片上,并观察LED是否正常闪烁。
调试工具安装与使用说明1.CCS安装在这一章节里,我们将详细介绍CCS的安装及使用,由于我们使用的是TMS320F2812,所以我们只介绍CCS2000的使用及安装。
安装C2000 系列的CCS 软件,步骤如下:第一步:双击文件夹下的setup文件第二步:按照光标依次执行;第三步:第四步:第五步:第六步:默认路径为c:\ti;此路径可更改。
第七步:第八步:第九步:可以安装Adobe Acrobat Reader 用来阅读PDF 文件第十步:重启动计算机,选择YES;第十一步:点击exit,退出 Code Composer Stdio 安装;仿真器安装准备工作:★实验箱插好上电★确认仿真器与电脑机箱后置USB口连★核心开发板的JTAG口和仿真品下载线口连接2 硬件仿真器的安装我公司生产的仿真器硬件仿真器有多款,在此我们将介绍常用的USB 系列的安装方法:的驱动安装1.将USB 仿真器的USB 插头插入PC 机的USB 插槽中,启动计算机后识别硬件,识别后安装其驱动程序。
2.手动指定驱动程序路径到光盘根目录下的\usb_drivers\Driver下。
3.安装完毕后打开控制面板查看系统中的设备管理器,出现如下结果,证明硬件连接成功,否则需检查硬件是否连接正确和USB 驱动安装是否安装正确:4.电脑如果找到了驱动程序则在硬件列表里会出现一个红色的仿真器的图标。
5.装完驱动程序后,将光盘根目录下的\文件拷贝到CCS的安装目录下的drivers文件夹(例如c:\ti\drivers)下驱动程序的配置如果已经进行过配置,则不需要再进行配置了。
1.双击桌面上的Setup CCS 2(2000)出现下图所示窗口,进入配置界面如下图:右击F2812 Device Simulator,出现如下图界面,选中Remove删除。
2.在上图中将中间当前活动的对话窗口关闭,点击“Install a Device Driver”进行设置。
SDK通用版接口调用说明目录1请仔细阅读信息安全责任保证条款 (2)1.1安全信息责任条款 (2)1.2注意事项:................................................................................. 错误!未定义书签。
1 Webservice接口 (3)1.1 webservice返回集合对照表 (3)2、多线程webservice接口 (5)2.1 mdgxsend 个性短信 (5)3、多线程http接口 (8)3.1 多线程群发普通短信 (8)3.2 多线程群发个性短信 (9)请仔细阅读信息安全责任保证条款安全信息责任条款本人/本公司在使用本软件过程中,将严格遵守国家相关法律、法规、保证本公司信息发布的安全,并切实做到:(1)建立健全本公司信息发布的内部保障制度、信息安全保密制度、用户信息安全管理制度,建立健全本公司信息安全责任制度和信息发布的审批制度,严格审查本公司产品所发布信息。
(2)严格遵守《互联网信息服务管理办法》,对用户编辑的信息内容进行把关,保证信息内容的健康、合法。
(3)明确本企业的客户群和客户范围,所有通讯受众必须是自愿且明确同意接受企业服务。
(4)若发送未经用户允许的信息等所造成的影响、投诉等一切损失与本软件版权方无关、由本人/本公司承担全部责任;同时,本人/本公司也应承担若因此给本软件版权方造成的全部损失。
(5)不利用本软件制作、复制、发布、传播含有下列内容的信息:✧反对宪法所确定的基本原则的;✧危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;✧损坏国家荣誉和利益的;✧煽动民族仇恨、民族歧视,破坏民族团结的;✧破坏国家民族宗教政策,宣扬邪教和封建迷信的;✧散布谣言,扰乱社会秩序,破坏社会稳定的;✧散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;✧侮辱或者诽谤他人,侵害他人合法权益的;✧含有法律、行政法规禁止的其他内容的;(6)自信息发布六个月内不修改删除信息发送日志内容,日志记录的备份应至少保持6个月以上,在国家机关进行依法查询时,予以提供。
CCS2.2(C5000)安装以及配置⽅法forSEED-DTK5416软件的安装与配置⼀.相关⽂件⽬录。
1、SEED-XDS510PLUS仿真器驱动安装⽂件⽬录:E:\SEED-DTK5416\driver\setup\SEED-XDS510Plus Emulator for CCS3.3 Below.exe2、开发板初始化⽂件:C:\ti\cc\gel\ dtk-boot.gel3、配置⽂件:C:\ti\drivers\seedxds510plus.cfg3、C运⾏时间⽀持库⽬标⽂件:C:\ti\c5400\cgtools\lib\rts.lib⼆.CCS以及驱动程序的安装1.安装Code Comppser Studio2.2 for C5000需要安装V2.2以上的版本的CCS版本。
找到附带光盘的CCS软件的安装程序⽂件夹(\ccs5000),双击“Setup.exe”,然后按照提⽰安装软件。
2.安装SEED-XDS510PLUS仿真器驱动。
点击仿真器驱动的安装程序SEED-XDS510Plus Emulator for CCS3.3 Below.exe,设置与CCS软件⼀样的安装路径(默认为C:\ti),此⽂件是仿真器所配光盘的内容,电脑存放⽬录为E:\ SEED-DTK5416\driver\setup。
注意:安装过程中,需要您选择CCS的版本来安装相应的驱动。
3.安装SEED-XDS510PLUS仿真器的硬件设备。
1)安装准备:⽤所提供的USB连接线将SEED-XDS510PLUS仿真器和电脑主机相连,将SEED-XDS510PLUS和⽬标系统相连2)安装步骤:安装准备完成后,系统会⾃动提⽰安装“找到新的硬件向导”,默认“⾃动安装软件(推荐)”,单击下⼀步,按照提⽰进⾏仿真器硬件的安装3)安装完成后,系统提⽰SEED-XDS510PLUS JTAG仿真器已经成功识别。
4.GEL⽂件的拷贝。
容器及APP安装划分数据中心安装:第一步传输app安装包文件:将database.tar软件安装包放到/usr/local/default/apps/路径下,将/data/app/database 文件夹删除第二步起容器安装APP:执行container install c_data /usr/local/default/apps/database.tar -v /data/app:/data/app 104app安装第一步传输app安装包文件将SCIEC104.tar软件安装包放到/usr/local/default/apps/路径下,第二步创建配置文件路径cd /data/app //打开目录mkdir -p SCIEC104/configFile//创建文件夹将104param.json配置文件放到/data/app/ SCIEC104/configFile/104param.json第四步起容器安装APPcontainer install c_peidian /usr/local/default/apps/SCIEC104.tar -dev /dev/ttyRS0:/dev/ttySZ3 -dev /dev/ttyRS1:/dev/ttySZ4 -dev /dev/ttyRS2:/dev/ttySZ5 -dev /dev/ttyRS3:/dev/ttySZ6 -dev /dev/gpio_sg:/dev/gpio_sg -dev /dev/spidev2.0:/dev/spidev2.0 -dev /dev/ttyS7:/dev/ttyS7 -p 2404:2404 -v /data/app:/data/app交采APP安装第一步传输app安装包文件将SCBASEADC.tar软件安装包放到/usr/local/default/apps/路径下,第二步创建配置文件路径cd /data/app //打开目录mkdir -p SCBASEADC/configFile//创建文件夹交采更新需要将原有配置文件删除第四步起容器安装APPcontainer install c_base /usr/local/default/apps/SCBASEADC.tar -dev /dev/ttySZ3:/dev/ttySZ3 -dev /dev/ttySZ4:/dev/ttySZ4 -dev /dev/ttySZ5:/dev/ttySZ5 -dev /dev/ttySZ6:/dev/ttySZ6 -dev /dev/gpio_sg:/dev/gpio_sg -dev /dev/spidev2.0:/dev/spidev2.0 -dev /dev/ttyS7:/dev/S7 -v /data/app:/data/app配变监测APP安装第一步传输app安装包文件将SCDCEMT.tar软件安装包放到/usr/local/default/apps/路径下,第二步创建配置文件路径cd /data/app //打开目录mkdir -p SCDCEMT/configFile//创建文件夹第三步将配置文件放到指定目录将Config.json配置文件放到/data/app/ SCDCEMT/configFile/ Config.json第四步安装APP到c_peidian容器:container install tem /usr/local/default/apps/SCDCEMT.tar -dev/dev/ttyRS0:/dev/ttySZ3 -dev /dev/ttyRS1:/dev/ttySZ4 -dev/dev/ttyRS2:/dev/ttySZ5 -dev /dev/ttyRS3:/dev/ttySZ6 -dev/dev/gpio_sg:/dev/gpio_sg -dev /dev/spidev2.0:/dev/spidev2.0 -dev/dev/ttyS7:/dev/ttyS7 -v /data/app:/data/app -dev/dev/pt100-i2c:/dev/pt100-i2cSCMQTTIot及SCMQTTTrData安装第一步传输app安装包文件将SCMQTTIot.tar软件安装包放到/usr/local/default/apps/路径下,将SCMQTTTrData.tar软件安装包放到/usr/local/default/apps/路径下,第二步创建配置文件路径mkdir /data/app/SCMQTTIot -pmkdir -p /data/app/SCMQTTIot/commonFilemkdir -p /data/app/SCMQTTIot/config File第三步将配置文件放到指定目录将paramFile配置文件放到/data/app/ SCMQTTIot /configFile/ paramFile第四步起容器安装APPcontainer install c_iot /usr/local/default/apps/SCMQTTIot.tar -v/data/app:/data/appappm -i -c c_iot -n SCMQTTTrData -f /usr/local/default/apps/SCMQTTTrData.tar698安装:第一步传输app安装包文件:将yxd_698.tar软件安装包放到/usr/local/default/apps/路径下,第二步起容器安装APP:container install c_yingxiao /usr/local/default/apps/yxd_698.tar -dev /dev/ttyRS0:/dev/ttySZ3 -dev /dev/ttyRS1:/dev/ttySZ4 -dev /dev/ttyRS2:/dev/ttySZ5 -dev /dev/ttyRS3:/dev/ttySZ6 -dev /dev/ttyS7:/dev/ttyS7 -dev /dev/gpio_sg:/dev/gpio_sg -dev /dev/encryption1:/dev/encryption1 -v /root/shared/yxd_698/data:/root/shared/yxd_698/data。
Hi3716C平台SDK安装以及研究 (2011-01-18 13:20:36) 转载▼ 标签: hi3716 linux gc800 分类: 嵌入式Linux
作者: Sam (甄峰) sam_code@hotmail.com
因为之前使用过Hi3110平台,觉得海思SDK安装不是特别合乎自己的习惯,所以这次对其安装做研究并修改其行为。
0.Hi3716平台各芯片介绍: Hi3716M 不支持GPU 功能,Hi3716C 支持GPU 功能,Hi3716H 性能是Hi3716C 中的一半。
GPU(Graphics Processing Unit)集成专有的3D 加速引擎,提供OpenGL ES2.0/1.1/1.0、OpenVG1.1/1.0 标准API 接口。具有超强的运算性能: 400M pixels/s 的像素处理能力。 400M pixels/s 的纹理处理能力。 200M vertex/s 的顶点处理能力。 40M triangles/s 的几何处理能力(平均)。
1. 海思server_install行为: 海思文档中,要求首先以root权限运行server_install
server_install的行为如下: 察看SDK toolchain目录下3个交叉编译器是否存在,如果存在,则进入其中并运行安装和设置程序。
if [ -d ./source/osdrv/toolchains/gcc-3.4.3-csl-uClibc-0.9.30 ] //如果目录存在 then cd ./source/osdrv/toolchains/gcc-3.4.3-csl-uClibc-0.9.30 //进入之 chmod 777 cross.install //修改权限 ./cross.install //运行之 cd - fi 依次运行3个交叉编译器。
2. cross.install 行为:
if [ -z "$1" ] //如果参数为空 then echo "CROSS_COMPILER_PATH=$BIN_DIR"
if [ -n "`grep 201001201418 $TOOL_DIR/version`" ] //如果指定安装目录中version中没有特定的字符串(toolchain 版本信息),则表明此toolchain没有安装或者是旧版本。 否则,即为此toolchain已经安装。 then echo "Cross Tools has been installed yet!" >&2 exit 0 //已经安装,则退出安装 fi
mkdir -pv $TOP_DIR // 创建toolchain目录 [ $? != 0 ] && exit 1 //如果返回错误,则退出
echo "Delete exist directory..." >&2 rm $TOOL_DIR -rf //删除目录下所有东西 [ $? != 0 ] && exit 1 //错误则返回
echo "Extract cross tools ..." >&2 tar -xjf $TOOLS_PKG -C $TOP_DIR // 把toolchain解压缩到对应目录下 [ $? != 0 ] && exit 1
//将toolchain/bin目录加入/etc/profile中的PATH中。 if [ -z "`grep "$BIN_DIR" < /etc/profile`" ] ; then echo "export path $BIN_DIR" >&2 cat >> /etc/profile << EOF
# `date` # Hisilicon Linux, Cross-Toolchain PATH export PATH="$BIN_DIR:\$PATH" #
EOF [ $? != 0 ] && exit 1 else echo "skip export toolchains path" >&2 fi
exit 0
其实这最后一步,将export PATH=$PATH:..... 加入/etc/profile 就是Sam所不能接受的,Sam通常在同一台Linux上编译超过10种平台的程序,所用toolchain更是庞杂。所以不能接受这种一个人生病,大家全吃药的模式。(因为每个终端起来之前,都会运行/etc/profile)
Sam的做法是:shell保持一个纯净的PATH, LD_LIBRARY_PATH等。需要在本终端设置某toolchain的toolchain,再使用setenv来设置。
SDK的编译: #make build
修改config file. #make linux_clean #make linux
二:烧入和设置: 2.1. 烧入前的准备: 重新启动后立刻按空格进入bootloader 设置状态: hisilicon # 察看设置: hisilicon # printenv 设置: setenv serverip 10.0.0.39 setenv ipaddr 10.0.0.20 setenv netmask 255.255.0.0
保存: saveenv 察看网络是否可用: hisilicon # ping 10.0.0.39 Hisilicon ETH net controler MAC: 9E-1C-54-AC-E0-1C UP_PORT : phy status change : LINK=DOWN : DUPLEX=FULL : SPEED=100M UP_PORT : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M host 10.0.0.39 is alive 2.2: 将Kernel和rootfs保存如tftpboot #cd pub/image #cp hi_kernel.bin /tftpboot/ #cp hi_kernel.bin /tftpboot/
2.3:烧入Kernel: mw.b 82000000 ff 300000 //将ddr写为0xff,写3M
tftp 82000000 hi_kernel.bin //下载kernel到ddr nand erase 200000 300000 //擦写0x100000后面的3M flash空间 nand write 82000000 200000 300000 //把ddr中的kernel写入nand flash,写入3M的大小
2.4: 烧入rootfs: mw.b 82000000 ff a00000 //将ddr写为0xff, a000000 根据文件系统镜像大小可能需要改动,一般应该大于镜像的大小 tftp 82000000 rootbox.yaffs //下载rootbox到ddr nand erase 500000 //后面不加长度,擦写0x500000后面的所有flash空间 nand write.yaffs 82000000 500000 xx //把ddr中的rootbox写入nand flash, xx是写入大小(必须是rootbox.yaffs的大小,一个字节也不能错),
Sam: 因为Bytes transferred = 23358720 (1646d00 hex) nand write.yaffs 82000000 500000 1646d00
2.5:设置启动参数: setenv bootcmd 'nand read 0x82000000 0x200000 0x300000;bootm 0x82000000' setenv bootargs 'mem=96M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:5M(boot),60M(rootfs),-(others)'
saveenv
三. Bluetooth modules编译时遇到的问题: 使用正常手段编译了bluetooth modules. insmod时, l2cap遇到问题,说是crc16没有提供符号。 于是Sam在: make menuconfig Library routines --->CRC16 functions 选中其为modules. 并首先装载之, 一切OK.
四:Kernel与应用程序使用不同编译器时出的问题: 这个问题在上次其实已经解决了,但放在这里记录下来: 当时在Hi3560H上,海思提供了多个Toolchain,但在Kernel和应用程序编译时使用不同的编译器。Sam当时心中有些不安,觉得这里会是一个隐患,尤其是Bluetooth 需要使用ioctl来在应用程序和Kernel之间交互数据。
但在察看具体代码后,觉得问题应该不大,因为几乎所有struct,都定义为__attribute__((packed)) 。
但奇怪的是,哪怕这样,当应用程序和Kernel使用不同的编译器时,也会出现struct解析出错(有规律的错位)的情况。后来统一编译器后,问题就解决。但Sam还是有些不明白为什么__attribute__((packed)) 后还是会出问题。