匿名
未登录
登录
百问网嵌入式Linux wiki
搜索
查看“100ask am335x”的源代码
来自百问网嵌入式Linux wiki
名字空间
页面
讨论
更多
更多
页面选项
Read
查看源代码
历史
←
100ask am335x
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
该页面已被保护以防止编辑和其他操作。
您可以查看与复制此页面的源代码。
*开发板购买地址: *资料光盘下载地址: https://pan.baidu.com/s/118g4v7NHgpAjrdiazi5rBw =100ask_am335x开发板= 100ask-AM335X是百问网基于美国TexasInstruments公司ARM Cortex-A8内核的高性能、低功耗微处理器,设计的工业级开发板,SOM-AM335X核心板配套的开发板,基于TI AM335X处理器(AM3352,AM3354,AM3356,AM3357,AM3358,AM3359)ARM Cortex A8内核,主频高达1GHz,外扩512MB DDR3 SDRAM,512MB NandFlash。100ask-AM335X开发板扩展了核心板的主要功能,实现LCD接口,音频输入输出接口,RTC电池供电,5路串口,4路USB HOST,1路micro usb OTG,1路千兆网口,2路ADC接口,1路SPI接口,1个SDHC卡接口,1路CAN接口,1路RS485接口。配套开发板,软件提供uboot2016.6,Linux4.9,buildroot.2018.02。<br> 随同开发板,提供包括用户手册,PDF原理图,外扩接口驱动,BSP源码包,开发工具等开发资料。这套开发包,为开发者提供了完善的软件开发环境,能够降低产品开发周期,实现产品快速上市。 ==基本资源特征== [[File:100ask_am335x_002.png||thumb|right|frameless|850px|开发板正面视图]] [[File:100ask_am335x_003.png|500px|thumb|right|frameless|扩展板正面视图]] ===核心板特征=== {|class="wikitable" style="text-align:left; background-color: rgba(255,255,255,0.2)" |- | 处理器||ARM Cortex-A8 单核,最高主频1GHz |- | 内存|| 512MB DDR3L |- | 存储器|| 512MB nand flash |- | 电源芯片 || TPS65217 |- | 图像处理器 || SGX530 3D Graphics Engine |- |RTC || RTC实时时钟 |} ===接口和外围设备=== {|class="wikitable" style="text-align:left; background-color: rgba(255,255,255,0.2)" |- | LED || *1x4 用户LED灯(绿色) *1x1 核心板电源状态LED灯(红色) *1x1 底板电源状态LED灯(红色) |- | KEY || *1x4 用户按键 *1x1 系统复位按键 |- | 以太网|| *工业级10/100/1000Mbps以太网(AR8035) |- |音频 || *工业级TLV320AIC3106 |- |显示屏 || *RGB888 |- | RS232|| *2路RS232 *3路TTL |- |RS485 || *1路工业级RS485 |- |CAN || *1路工业级CAN |- |usb || *4路usb-host *1路usb-otg |- |无线网络 || *板载SDIO-wifi接口 *板载usb接口,可外接usb-wifi |- | 电源 || * DC 12V/2A输入 |- | 启动模式开关 || *SD启动方式与nandflash启动选择 |} ===软件支持=== =快速使用= ==准备工作== [[File:100ask_am335x_007.png|thumb|right|frameless|750px|开发板连接示意图]] 要使用你的AM335x开发板,请提前准备好以下资源: * 一台可以上网的windows电脑 * 100ASK_AM3358开发板 * microSD卡/TF卡: Class10或以上的 8GB SDHC卡 * 一个12v/2A的电源是配置 * VMware-player-15.1.5.exe * Vmware ubuntu 18.04 64位虚拟机镜像 * win32diskimager-1.0.0-install.exe * HPUSBDiskStorage_Format_Tool 2.0.6.EXE * MobaXterm_Portable_v11.0.zip 开发板连接示意图请参考右边的连接方式,连接后用<code>MobaXterm</code>串口工具进行登录。<br> ==更新系统/烧写img镜像== ===更新nandflash系统=== 右键以管理员权限运行资料光盘<code>01_tools\HP USB Disk Storage Format Tool 2.0.6.EXE</code>程序,来格式化SD卡。<br> [[File:100ask_am335x_006.png|300px]] *1.选择需要格式化的sd卡<br> *2.选择sd卡文件系统类型为FAT32<br> *3.选中Quick Format(快速格式化)<br> *4.点击 start开始格式化 <br> '''注意:如果点击start 时提示错误,则在错误信息框中点击确定,然后再次点击start就可以了。''' 请提前下载好配套的资料(本文最开头有下载链接),拷贝<code> 02_images\nandflash_system </code>目录下的所有文件到格式化好的SD 卡根目录下。<br> 把SD卡插到开发板上,并设置启动方式为SD启动[[File:100ask_am335x_009.png|80px]],打开终端,开发板上电,串口有输出时按下任意键即可进入uboot参数设置界面,如下所示<br> [[File:100ask_am335x_004.png|800px]] 此时输入<code> run updatesys </code> [[File:100ask_am335x_005.png|800px]] 如上所示,直到系统打印<code>system update ok !</code> ,表示系统烧录nandlflash成功。 此时可以关闭开发板电源,拔出SD卡 设置启动方式为nand启动, 开发板重新上电即可! ===SD卡启动=== *1.安装资料光盘下01_tools/SD Card Formatter 5.0.1 Setup.exe软件,安装完成后打开!<br> *2.使用SdCardFormatter格式化SD卡,格式化步骤如下如所示! {| class="wikitable" style="text-align: center; background-color: rgba(255,255,255,0.2)" |- | [[image:100ask_am335x_SD_P_004.png | 300px]] | [[image:100ask_am335x_SD_P_005.png | 300px]] | [[image:100ask_am335x_SD_P_006.png | 300px]] |- | (1)选择要格式化的SD卡,选中Quick format,点击Format || (2)在弹出的对话框中点击是(Y) || (3)等待格式化完成,在弹出的对话框中点击确定 |} *3.安装资料光盘下01_tools/win32diskimager-1.0.0-install.exe软件,安装完成后打开!<br> *4.使用wind32diskimage烧写编译后的系统镜像,烧写步骤如下所示!<br> {| class="wikitable" style="text-align: center; background-color: rgba(255,255,255,0.2)" |- | [[image:100ask_am335x_SD_p_001.png | 300px]] | [[image:100ask_am335x_SD_p_002.png | 300px]] | [[image:100ask_am335x_SD_p_003.png ]] |- | (1)选中需要烧写的SD卡设备,点击文件图标选择系统镜像文件,<br>最后点击写入按钮开始烧写|| (2)此时弹出烧写对话框,点击Yes按钮,继续烧写, 等待任务进度执行到100%)|| 烧写成功后,弹出写入成功,此时点击OK |} ==体验Arduino编程== [[File:100ask_am335x_008.png|750px|thumb|right|frameless|Arduino应用开发连接示意图]] 在过去十年的教育培训中,遇到很多程序员、计算机软硬件爱好者。他们对硬件、驱动并不了解,希望通过简单的学习就能控制硬件,实现自己创意想法,而不是看硬件芯片手册、编写驱动、应用程序。<br>为此,我们在产品上编写了一套基于Arduino的应用程序库,让用户可以通过几行简单的代码,实现对各种硬件模块的控制。<br> 介绍了LED灯、按键、红外遥控、温湿度传感器、人体红外检测、超声波测距、步进电机控制、OLED显示、三轴加速度计、实时时钟、数模/模数转换、GPS模块等的基本使用,最后再示例了两个实战项目供读者参考。<br> *使用方法请参考,配套资料<code>00_UserManual</code>目录下<code> 100ASK_AM335X应用手册_V1.0.pdf </code> pdf文档。<br> *或者点击右侧文档在线下载 [[:File:100ASK_AM335X应用手册_V1.0.zip | 100ASK_AM335X应用手册_V1.0.pdf ]],下载后解压即可阅读。 =编译linux SDK系统= <div style="color:#F00; font-size: 1.1em">注意:以下所有操作均在我们提供的资料光盘以及vmware ubuntu18.04进行过测试,确保其可用。 如需自行安装配置vmware ubuntu开发环境请参考[[Configuring_ubuntu ]]</div> ==获取源码== {| class="wikitable" style="text-align: left; background-color: rgba(255,255,255,0.2)" |- ! 类别 !! 国内coding仓库 !! 国外github仓库 |- |u-boot|| https://dev.tencent.com/u/weidongshan/p/100ask-am335x_uboot || https://github.com/100askTeam/100ask-am335x_uboot |- |linux kernel|| https://dev.tencent.com/u/weidongshan/p/100ask-am335x_kernel|| https://github.com/100askTeam/100ask-am335x_kernel |- |根文件系统|| https://dev.tencent.com/u/weidongshan/p/100ask-am335x_buildroot|| https://github.com/100askTeam/100ask-am335x_buildroot |} git邮箱账号和用户名配置 <syntaxhighlight lang="bash"> book@100ask:~$ git config --global user.email "you@example.com" book@100ask:~$ git config --global user.name "Your Name" </syntaxhighlight> 初次使用,需要配置用户名和密码才可以进行代码同步,用户名和密码根据自己情况设定,也可以随意设定 考虑到代码仓库过多,特使用repo工具管理代码<br> repo工具配置 <syntaxhighlight lang="bash"> book@100ask:~$ git clone https://git.dev.tencent.com/codebug8/repo.git book@100ask:~$ mkdir -p 100ask_am335x && cd 100ask_am335x book@100ask:~/100ask_am335x$ ../repo/repo init -u https://dev.tencent.com/u/weidongshan/p/manifests/git -b linux-sdk -m ti335x/100ask-am335x_linux_release_v1.0.xml --no-repo-verify book@100ask:~/100ask_am335x$ ../repo/repo sync -j4 </syntaxhighlight> *上面使用的repo管理文件xml为国内coding仓库 https://dev.tencent.com/u/weidongshan/p/manifests/git/tree/linux-sdk *如果使用Github仓库管理文件xml请查看 https://github.com/100askTeam/manifests/blob/linux-sdk/README.md ==设置工具链== 交叉编译工具链主要是用于在ubuntu主机上编译并声称可以在其它平台上运行的系统。设置交叉编译工具主要是设置<code>PATH</code> <code>ARCH</code>和<code>CROSS_COMPILE</code>三个环境变量,下面介绍具体设置方法。 * 永久生效 如需永久修改,请修改用户配置文件, Ubuntu系统下,修改如下: vim ~/.bashrc 在行尾添加或修改: export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabihf- export PATH=$PATH:/home/book/100ask_am335x/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin * 临时生效 执行完“export”命令后,该设置只对当前终端有效 <syntaxhighlight lang="bash"> book@100ask:~$ export PATH=$PATH:/home/book/100ask_am335x/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin book@100ask:~$ export ARCH=arm book@100ask:~$ export CROSS_COMPILE=arm-linux-gnueabihf- </syntaxhighlight> * 手动指定 Make编译时指定ARCH架构 CROSS_COMPILE交叉编译工具链 <syntaxhighlight lang="bash"> book@100ask:~$ export PATH=$PATH:/home/book/100ask_am335x/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin book@100ask:~$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- [命令] </syntaxhighlight> ==编译uboot== *准备工作 安装TFTP NFS服务请参考[[Configuring_ubuntu#.E7.8E.AF.E5.A2.83.E9.85.8D.E7.BD.AE | Ubuntu环境配置]],设置如下参数让系统通过网络挂载方式启动,方便调试。<br> 其中TFTP目录假设为<code> /home/book/tftpboot</code> NFS目录假设为<code> /home/book/nfs_rootfs</code><br> '''注意:以下操作会破坏SD卡的数据,请先进行备份。''' *编译100ask_am335x开发板uboot命令 <syntaxhighlight lang="bash"> book@100ask:~/100ask_am335x$ cd u-boot2016.06 book@100ask:~/100ask_am335x/uboot2016.06$ make distclean book@100ask:~/100ask_am335x/uboot2016.06$ make 100ask_am335x_defconfig book@100ask:~/100ask_am335x/uboot2016.06$ make </syntaxhighlight> * 单独烧写uboot 请参考[[ 100ask_am335x#.E6.9B.B4.E6.96.B0nandflash.E7.B3.BB.E7.BB.9F | 更新NandFlash系统]]章节,将编译好的'''MLO u-boot.img '''文件拷贝到使用<code>HP USB Disk Storage Format Tool 2.0.6.EXE</code>工具格式化好的SD卡根目录下。<br> 设置启动方式为SD启动,此时开发板重新上电,即可看到串口打印是从SD卡启动。 * nfs启动系统 注意: '''serverip'''为你的ubuntu IP 地址 '''ipaddr '''为你给开发板设置的IP地址,设置IP完成后可以通过 ping 命令来确认是否连通。 ># setenv serverip 192.168.1.132 ># setenv ipaddr 192.168.1.112 ># setenv fdtfile 100ask-am335x.dtb ># setenv rootpath /home/book/rootfs,vers=3 ># run netboot ==编译linux kernel== *准备工作 安装TFTP NFS服务请参考[[Configuring_ubuntu#.E7.8E.AF.E5.A2.83.E9.85.8D.E7.BD.AE | Ubuntu环境配置]],设置如下参数让系统通过网络挂载方式启动,方便调试。<br> 其中TFTP目录假设为<code> /home/book/tftpboot</code> NFS目录假设为<code> /home/book/nfs_rootfs</code><br> *编译100ask_am335x开发板内核 <syntaxhighlight lang="Bash" > book@100ask:~/100ask_am335x$ cd linux-4.9.168 book@100ask:~/100ask_am335x/linux-4.9.168$ make mrproper book@100ask:~/100ask_am335x/linux-4.9.168$ make 100ask_am335x_defconfig book@100ask:~/100ask_am335x/linux-4.9.168$ make zImage book@100ask:~/100ask_am335x/linux-4.9.168$ make dtbs </syntaxhighlight> 编译完成后,在<code>arch/arm/boot</code>目录下生成'''zImage'''内核文件, 在<code>arch/arm/boot/dts</code>目录下生成设备树的二进制'''100ask-am335x.dtb'''文件。<br> 将'''zImage'''和'''100ask-am335x.dtb'''拷贝到TFTP 目录中以供NFS网络挂载启动方式。 *编译内核模块 <syntaxhighlight lang="bash"> book@100ask:~/100ask_am335x/linux-4.9.168$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules </syntaxhighlight> *安装内核模块到nfs根文件系统 <syntaxhighlight lang="bash"> book@100ask:~/100ask_am335x/linux-4.9.168$ sudo make ARCH=arm INSTALL_MOD_PATH=/media/rootfs modules_install </syntaxhighlight> ==编译根文件系统== *文件系统特征 {| class="wikitable" style="text-align: left; background-color: rgba(255,255,255,0.2)" |- !文件系统支持!! 作用 |- |web环境 ||html+php网络开发环境 |- |Qt环境 ||Qt 5.9开发环境(选用) |- |Vim开发环境 ||vim8.0环境 |- |串口传输文件 ||通过z-mode协议使用串口传输文件到开发板 |- |ssh工具 ||通过ssh工具登录开发板系统 |- |nfs工具|| 通过nfs命令挂载主机文件 |- |电子相册|| 在LCD上浏览图片,支持放大缩小等 |- |Arduino编程|| 在windows下对开发板进行模块编程 |} *文件系统支持 {| class="wikitable" style="text-align: left; background-color: rgba(255,255,255,0.2)" |- ! 配置文件 !! 含义 |- | 100ask_am335x_qt_defconfig || 支持Qt5.9文件系统版本 |- | 100ask_am335x_defconfig || 完整系统镜像版本(包含uboot kernel最后会生成所有的文件以及一个完整的系统镜像) |} *编译100ask_am335x 文件系统 下面以100ask_am335x_defconfig配置文件为例,说明 Buildroot 的配置过程: <syntaxhighlight lang="bash"> book@100ask:~/100ask_am335x$ cd buildroot2018.02 book@100ask:~/100ask_am335x/buildroot2018.02$ make clean book@100ask:~/100ask_am335x/buildroot2018.02$ make 100ask_am335x_defconfig book@100ask:~/100ask_am335x/buildroot2018.02$ make menuconfig book@100ask:~/100ask_am335x/buildroot2018.02$ make –jN /* N表示CPU的线程数,比如可以写4、8等以加快编译速度 */ </syntaxhighlight> 注意:机器性能不同,编译时间不同。性能差的电脑,有可能需要等待1 ~ 2个小时。 编译后生成文件介绍 <syntaxhighlight lang="bash"> buildroot2018.02 ├── output ├── images ├── am335x-evm.dtb <--设备树文件 ├── boot.vfat <--分区文件 ├── MLO <--启动引导 ├── ramdisk.gz <--RAM格式根文件系统 ├── rootfs.cpio ├── rootfs.cpio.gz ├── rootfs.cpio.uboot ├── rootfs.ext2 <--ext2格式根文件系统 ├── rootfs.ext4 -> rootfs.ext2 ├── rootfs.tar <--打包后的根文件系统 ├── rootfs.tar.gz <--打包并压缩的根文件系统,适用于NFSROOT启动 ├── rootfs.ubi <--支持nandflash加载的根文件系统 ├── rootfs.ubifs ├── sdcard.img <--完整的SD卡系统镜像 ├── u-boot.bin <--qspi启动的u-boot ├── u-boot.img <--u-boot镜像 ├── u-boot-spl.bin <--spl启动镜像 ├── uEnv.txt <--默认u-boot配置文件 └── zImage <--内核镜像 </syntaxhighlight> buildroot详细的使用介绍请参考[[Buildroot]] ==NFS挂载启动系统== *1.拷贝内核和设备树文件到tftp目录:<br> 将出厂镜像或者自行编译的zImage和设备树文件100ask-am335x.dtb,拷贝到ubuntu的 /home/book/tftpboot 目录。 *2.把根文件系统压缩包解压到NFS目录:<br> 把使用buildroot构建得到的根文件系统nfs_rootfs/rootfs.tar.gz,复制、解压到ubuntu的/etc/exports文件中指定的目录里,即复制到/home/book目录下,得到/home/book/nfs_rootfs下众多文件: <syntaxhighlight lang="bash"> book@100ask:~/100ask_am335x/buildroot2018.02/output/images$ cp -rf nfs_rootfs/ ~ book@100ask:~/100ask_am335x/buildroot2018.02/output/images$ cd ~/nfs_rootfs book@100ask:~/nfs_rootfs$ sudo tar -zxvf rootfs.tar.gz </syntaxhighlight> ==参考资料== * http://processors.wiki.ti.com/index.php/Sitara_AM335x_Portal * http://www.ti.com/processors/sitara-arm/am335x-cortex-a8/overview.html * http://processors.wiki.ti.com/index.php/AM335x_Hardware_Design_Guide ==使用扩展模块及编程示例== =更新日志= {| border="1" style="background:transparent;" | style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" | ===2019.8.7更新说明=== *首次发布 {| class="wikitable toccolours mw-collapsible mw-collapsed" style="text-align:left; width:auto; overflow:auto;" !colspan="2" |2019.8.1更新说明 |- | *首次发布 |} | style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" | | style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" | |} =反馈建议= <div style="border: 1px solid #A7D7F9; "><comments /></div> [[Category:TexasInstruments]][[Category:am335x]]
该页面使用的模板:
模板:DownloadMethod
(
查看源代码
)
返回至
100ask am335x
。
导航
导航
WIKI首页
官方店铺
资料下载
交流社区
所有页面
所有产品
MPU-Linux开发板
MCU-单片机开发板
Linux开发系列视频
单片机开发系列视频
所有模块配件
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志