接触鸿蒙设备开发有一段时间了,也是时候好好挖一挖鸿蒙设备程序的启动流程了. 破冰问题:鸿蒙设备程序从哪里开始运行的? 相信大家都已经非常清楚了,鸿蒙设备程序需要指定入口函数,具体表现在代码层面就是通过语句 SYS_RUN(app_entry); 指定,其中 app_entry 是设备程序入口函数名:而整个鸿蒙设备的启动流程也可以顺理成章的挖掘出来.如下图: 这看起来非常完美了,解决了所有问题!可是,我觉得还是有不清楚的地方,即:MODULE_INIT(run) 干了什么事?为什么最终会调用到 a…
目录: 前言 安装虚拟机 安装 Ubuntu 设置共享文件夹 前言上回说到,我们在一块 HarmonyOS HiSpark AI Camera 开发板,并将其硬件做了一下解读和组装.要在其上编译鸿蒙系统,我们需要同时用到 Windows 系统(烧录)和 linux 系统(编译). 这一篇先介绍一下,在 Win10 系统上用 VMware 安装 Ubuntu 20.04.1,并设置共享目录相互访问,做一些基础准备. 安装虚拟机主电脑以 Win10 为基准,先安装 VMware,这里提供一个安装包…
目录: 前言 HarmonyOS 简介 DevEco Device Tool(windows下) 获取源码(切换到ubuntu) 烧录程序(切换回windows) 前言上一篇,我们在 Win10 上用虚拟机安装了 Ubuntu,并设置了文件共享.这一篇,在此基础上编译鸿蒙os的源码,并进行设备烧录.  HarmonyOS 简介1. 系统定义HarmonyOS是一款"面向未来".面向全场景(移动办公.运动健康.社交通信.媒体娱乐等)的分布式操作系统.在传统的单设备系统能力的基础上,Har…
目录: 前言 开发板简介 产品特色及功能 产品参数 各个主板功能简介 Hi3516DV300 芯片手册 前言鸿蒙2.0的系统刚开源出来,华为志在打造1+8+N万物互联的全场景智慧生活,不仅是国产操作系统之梦,一次开发多设备部署也戳中开发者的痛点.这次开源的主要是基于嵌入式实时场景的微内核版本,用于手机端的宏内核版本预计要到明年. 最近申请到了一块 HarmonyOS HiSpark AI Camera 开发板,我们来体验一下AI应用的开发. 开发板简介Hi3516DV300作为新一代行业专用Sm…
写在前面: 每年的过年前夕,手中的项目一定会告急...而自己又缺乏三头六臂七十二变等特技,所以只能在鸿蒙社区先消失一阵子了.今天再看社区的帖子,发现大家的进步可不一般,各种案例示例层出不穷,一片欣欣向荣的景象!在这样的氛围下,我又来了分享的欲望,希望自己的一点积累能为鸿蒙宇宙添砖加瓦. 直播主题回顾: 考虑到很多同学可能是新手,这里首先要谈谈交叉编译的概念! 交叉编译是嵌入开发中的基础概念,名字看起来高端大气上档次,但其本质还是编译,也就是把C/C++代码编译成可执行程序,和我们初学C/C++语…
目录: 前言 硬件准备 HDF 驱动开发 总结 前言上一篇,我们在鸿蒙上运行了第一个程序,这一篇我们来编写一个驱动开启摄像头的红外补光灯,顺便熟悉一下鸿蒙上的 HDF 驱动开发. 硬件准备先查一下原理图(具体可参考第一篇的硬件资料),找到红外灯的 IO 口编号,GPIO5_1. HDF 驱动开发1. 简介HDF(OpenHarmony Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载.驱动服务管理和驱动消息机制.旨在构建统一的驱动架构平台,为驱动开发者提供…
ARM开发板与PC通过NFS 网络文件系统挂接,很方便文件的移动,也为我们的开发带来了方便.接下来,我就详细的介绍下如何建立ARM与PC机的挂接. 我是用的UBuntu系统. 首先,我们需要在主机上安装nfs服务器,安装过的过程中一并把一些需要的组件也给安装了. 1.  安装 NFS 相关组件 sudo apt-get install nfs-kernel-server 安装完nfs服务器之后,我们需要建立一个与下位机挂接的共享文件夹.2.  建立NFS共享文件夹 sudo mkdir -R /…
这个问题事实上也相对照较简单.可是非常多网友都给我发消息说 遇到不能ping,每一个人都得回答一次确实显得心有余而力不足.如今我对遇到这几种问题给出最完整的解决方式. (说实话基本上也仅仅要这几种可能) 第一:检測虚拟机设置是否为桥接式模式: 第二:关闭PC机和虚拟防火墙(虚拟机防火墙关闭用 service iptables stop ,假设不能找到iptables就能够不用管) 第三:三者之间设置IP地址必须在同一个网段. 上面三个原因配置好后还有网友不能PING通,这个原因分为两类. 第一开…
1.设置主机的IP地址(这里注意,设置一定要设置网线宽带IP,不要选成无线网络的) 查看重点是否本地以太网卡(Realtek PCIe……) 2.修改本地连接3个IP地址,一定主机.虚拟机.开发板 三者一定要匹配,网段要一致.       3.设置虚拟机的操作系统网络设置 4.设置虚拟机的虚拟网络.…
imx6开发板与pc机之间通过串口传输文件步骤: 1. 安装好kermit并可以使用 2. 交叉编译lrzsz开源软件并把可执行程序lrz lsz拷贝到开发板 2.1 下载并解压lrzsz-0.12.20.tar.gz 2.2 配置交叉编译工具链:source /opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi 2.3 配置:./configure --host=arm-poky-linux-gnueabi…
1.前言 由于嵌入式linux开发大多数使用的是交叉编译环境,难免很频繁的将文件在开发板和PC环境之间传递,最方便的当然是网络传递了,可以使用FTP,以及挂载NFS两种方式了,显然后者更为方便了. 2.NFS服务安装 Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序: sudo apt-get install nfs-kernel-server (安装nfs-kernel-server时,apt会自动安装nfs-common和portmap) 3.NFS服务配置 我只配置了/…
NFS 共享目录的制作过程.主要分为两个步骤:1.搭建 NFS 服务器2.配置内核. NFS 是 Network FileSystem 的缩写,是由 SUN 公司研制的 UNIX 表示层协议(pressentation layer protocol),NFS 是基于 UDP/IP 协议的应用.它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件,可以通过 NFS 挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看做一个文件服务器.通过NFS 服务,可以实现…
1.不使用路由器交换机 硬件连接: 使用网线将开发板和PC机相连 串口线将PC机和开发板相连 使用命令: ifconfig -a 串口控制端查看开发板的网络配置 route -n 串口控制端查看开发板的网关设置 如果开发板: IP:192.168.1.8 Subnet_Mask:255.255.248.0 PC机对应的配置:(同一子网就可以) IP:192.168.1.10 Subnet_Mask:255.255.248.0 VM使用桥接模式的对应配置:(同一子网就可以) IP:192.168.…
转自迅为电子技术论坛:http://bbs.topeetboard.com GPIO 的寄存器通过 ioremap函数转换之后,可以通过直接控制虚拟地址来控制物理地址(寄存器的实际地址),这样就实现 GPIO的读和写以及其它任意功能. 需要的基础知识虚拟地址和物理地址内存管理单元概念linux 驱动模块的加载 主要内容GPIO 的寄存器文档详细介绍和说明函数 ioremap的用法使用 ioremap实现对 GPIO的控制 硬件以 LED2(靠近蜂鸣器的 LED)为例,介绍原理图以及Datashe…
在Linux下通过dnw来给开发板发送程序.包括驱动程序代码:secbulk.c,应用程序代码:dnw.c.只能运行在32位系统上,在64位系统上提示错误:DNW download Data size is too big. dnw源代码: #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <sys/types.h> #include <sys/stat.h>…
了解详情请点击迅为官网:http://topeetboard.com 迅为-i.MX6开发板是采用Freescale Cortex-A9 四核i.MX6Q处理器,主频1GHz,2G DDR3内存,16GB EMMC存储,i.MX6开发板采用核心板+底板结构设计,高品质,稳定性强 ,可以更灵活地进行产品开发,快速设计出更具有竞争力的产品. 产品图片: 核心板参数尺寸:51mm*61mmCPU:Freescale Cortex-A9 四核 i.MX6Q,主频 1 GHz内存:2GB DDR3存储:1…
在PC上可以开发Linux驱动,重新编译成ARM架构的Linux驱动模块,但最后还是要在开发板上进行测试.目前最流行的是基于三星S3C6410 ARM11架构的开发板,很多厂商在其基础上进行了扩展,开发了扩展板. 下面对S3C6410开发板进行简单的介绍:三星S3C6410是一款低功耗.高性价比的RISC精简指令集系统的处理器,基于ARM11内核,可用于移动电话和通用处理等领域.它为通信服务提供了优化的硬件性能,内置强大的硬件加速器,有运动视频处理.音频处理.2D加速.显示处理和缩放等,还集成了…
1.DE2-115开发板资源 Altera EPCS64 Configuration Device 64MB SDRAM (两片) 50MHz Oscillator EP4CE115F29C7(4PLLs) PI149FCT3803(与时钟有关的芯片) 2.DE2-115与时钟有关的引脚 3.关于复位信号的产生 (1)工程一: 综合结果如下图所示: 图 时钟信号具体细节 复位信号由Reset_Delay模块产生,但是复位信号的产生需要有iCLK时钟信号的触发,具体细节如下图所示: 图 复位信号网…
当前流行的字符编码格式有:US-ASCII.ISO-8859-1.UTF-8.UTF-16BE.UTF-16LE.UTF-16.GBK.GB2312等,其中GBK.GB2312是专门处理中文编码的.而libiconv是一个常用的编码转换库,支持常用的多种编码之间的转换.在Linux下,工具链gcc有专门的libiconv库,所有不用移植,但在arm-linux下就没那么幸运了,需要我们额外移植libiconv库,不过,过程还是比较简单的. 一.字符编码转换libiconv库介绍 libiconv…
转自迅为讨论群:http://www.topeetboard.com 重要说明:这份笔记不是4412开发配套的,是我在网上看视频的时候下载上课老师的笔记后修改的.所以我试了一下笔记上的uboot命令,有些无法使用,可能是uboot版本问题或者文件系统问题.具体原因我目前还不是很清楚,建议第五部分uboot命令可以先不用尝试. 一切以配套视频为准. 一.为什么是uboot 1.uboot从哪里来的? (1)uboot是SourceForge上的开源项目 (2)uboot项目的作者:一个德国人最早发…
折腾这么久,终于将主机,虚拟机和开发板三者之间能够相互ping通,虽然还没有实现我要的功能,不管怎么说先将步骤简单的概括下,用交叉网线将开发板与主机相连,开发板与主机的ip要设置在同一网段内,在配置ubuntu下的ip,下面详细说一下配置过程:第一,首先设置自己主机的ip地址,我设置的ip地址如下所示,相信大家在win7下设置ip地址都会,这里就不多说了,第二,配置开发板的ip地址,首先用secure-CRT通过串口连上开发板,打开配置文件vi /etc/eth0-setting,进入之后设置i…
本文转自迅为:http://www.topeetboard.com 概述 近期需要把WiFi无线网络功能移植到iTOP-4412 开发平台,查阅了相关资料,经过一段时间的研究.调试,终于成功的将WiFi功能移植到了开发板上面,这里笔者记录移植过程及注意事项,方便以后工作需要. iTOP-4412开发板的WiFi模块与板卡之间的连接采用SDIO接口,WiFi硬件模块使用的是MTK的MT6620芯片,MTK提供了Android4.0及Android4.4的driver, Porting Guid,有…
开发板光盘资料包含:原理图(PDF格式).底板PCB(Allegro格式).驱动程序源码.芯片和LCD数据手册.开发环境.产品使用手册. 4412开发板简介: iTOP-Exynos4412开发板采用 Exynos4412 的主芯片,具有更高的主频和更丰富外设,配置 2GB 双通道 DDR3的内存及 16GB 存储,具有稳定性强.可靠性高,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合. iTOP-Exynos4412开发板内置有无线 WIFI 模块.Bluetooth.GPS.Came…
上篇博文介绍了无线mesh网络和adhoc网络的区别,这篇文章将介绍无线mesh网络的骨干网节点的组建过程.首先需要介绍下骨干网节点的设计方案:每个骨干网节点都是由一块友善之臂的tiny6410 arm开发板+两块TP-LINK TL-WN721N USB无线网卡+linux 2.6.38系统组成的,其中一块网卡工作在adhoc模式下,用来和其他骨干网节点进行无线连接(自组织形式连接,而不是wifi接入点方式),另一块网卡工作在wifi的master模式下,也就是说需要在这块网卡上创建wifi热…
由于项目的需要,老板让我使用arm开发板(友善之臂的tiny6410)搭建无线mesh网络.一般而言,无线自组织网络的网络设备都是由用户的终端设备来充当,这些终端设备既要处理用户的应用数据,比如娱乐,办公等各方面数据,又要充当路由器,来进行路由转发:另一方面,这些用户终端设备的移动性也较强.对于前者,终端设备的绝大多数软硬件资源都花费在了用户的应用数据处理上了,留给网络转发使用的资源所剩无几,因此这些终端设备一般无法胜任大规模的网络拓扑结构.大数据量(比如音.视频多媒体数据)转发的这些任务:对于…
改章节个人在深圳游玩的时候突然想到的...这几周就有想写几篇关于android驱动的博客,所以回家到之后就奋笔疾书的写出来发布了 这些天一直在想Android驱动框架层的实现,本文借助老罗教师的博客和现有通过过分析台湾的Jollen的mokoid 工程代码,并尝试在Android开发板上驱动一个简单的蜂鸣器,来解析Android下驱动的调用. HAL架构由Patrick Brady (Google) 在2008 Google  I/O报告中提出的,如下图. 其实可以斟酌先编写驱动代码,然后使用N…
1      概述 本次任务是在飞思卡尔i.MX 6Quqd Sabrelite开发板上调试触屏驱动,触屏芯片是Goodix的gt828芯片,触屏接口是I2C. 操作系统:android 4.0.4 内核版本:3.0.15 2      调试步骤 2.1    硬件连接 2.1.1    开发板硬件接口 开发板已提供独立的接口用于触屏,其示意图如下: 它提供了一组I2C,电源.地和一个GPIO口. 2.1.2    GT828硬件接口 触屏芯片GT828的硬件接口如下: 其中INT是中断脚,RE…
笔者 : 万境绝尘 转载请著名出处 最终拿到板子了, 嵌入式开发正式开启. 板子型号 : 三星 S3C6410 基于ARM11, 指令集基于arm6指令集; 为毛不是 Cortext A9的板子; 烧写内容 : BootLoader, Linux Kernel, File System; 烧写流程 : -- sd卡烧写u-boot并启动 : 首先将 u-boot 烧写到 sd 卡中, 使用 sd 卡的bootloader启动; -- 擦出nand flash : 之后将开发板的闪存 nand f…
1.设置secureCRT(可选项):http://www.linuxyw.com/linux/gongxiang/20130505/161.html 2.使用secureCRT远程登录linux 3.使用secureCRT连接串口 4.使用secureCRT的SFTP进行可进行传输 put 然后tab建就可以弹出下载和上传到的目录下的文件 该目录在这里设置 好了,现在通过该软件工具,就可以实现PC,LINUX,开发板之间的互相连接了…
买的这款51,ARM,AVR三合一的单片机,也不知道后面具体使用会不会有问题,先玩玩看吧. ------------------------------------------------------------------------------------------ 单片机是将CUP.存储器和I/O接口集成都一片集成电路芯片上. MCS-89C51系列:集成8位CPU.4K字节ROM(只读存储器,储存程序,断电不丢失),128字节RAM(随机储存器,储存变量,掉电丢失).4个8位并口(P0…