精华内容
下载资源
问答
  • 2020-06-10 21:44:37

    无论谁都会面临着这个选择的问题,因为总需要一块开发板来调试,来测试系统,没有开发板是学不会嵌入式软件开发的,就像学习游泳的人,从来不下水一样,怎么可能学会游泳呢。既然要选择一块开发板,一定要选择一块稳定的,当然不能最新的开发板,因为最新的,一般来说不太稳定。第二个条件就是开源的,如果没有开源的代码,你学习什么呢?看不到代码,根本没法学习。第三个条件就是具备多核心的,因为现在的处理器设计,都是多核心时代,没有多核的异步性设计,以后的系统怎么样才能设计,怎么样才能调试稳定软件呢,怎么样才会关注到多处理器的异步性,比如自旋锁。

    根据上面几个条件,仔细地考察一下,思考了几个月,突然发现RK3288有大量的二手开发板出来了,这是一个好机会,可以采用二手的开发板,就可以降低成本,也可以达到学习的目的。因此就选择了下面这块开发板:

    这块开发板有大量的开源代码,也有很丰富的开发资料,这样对于初步入门的小白来说,是一个低门槛的入口。出现什么问题,都可以上网搜索到解决方案,同时它也是经历了几年测试,在业界也算稳定运行的,大量使用的工业开发板了。

    配备有线网络、无线网络、两个USB,还有通用的接口

    更多相关内容
  • 嵌入式开发板(Embedded development board)就是半导体行业分工合作的载体之一,它为开发... 第一,要把握最近的形式,看看什么cpu的最多,什么cpu最稳定,定位自己的目标有选择的学习嵌入式。学习现在的44...

     

     

             嵌入式开发板(Embedded development board)就是半导体行业分工合作的载体之一,它为开发产品的厂商提供基本的底层硬件、系统和驱动等资源,使得用户不需要再投入人力和时间来完成这些底层的工作。

     

     

     

    如何选择开发板

      第一,要把握最近的形式,看看什么cpu用的最多,什么cpu最稳定,定位自己的目标有选择的学习嵌入式。学习用现在的4412开发板,i.MX6开发板用的最多,很多的工业上都在用i.MX6。

     

      第二,选择开发板 要注意硬件资源(包括:CPU、ROM、RAM、各种接口)一定要满足自已开发的要求。我们要做到花最少的钱学习最多的东西,这才是我们要实现的目标。或者我们看一下可扩展的接口是否充足。

     

      第三,软件资源对一个初学者来说也是很重要的,因为不同的开发板提供的软件资源差别很大。一般必须包括:嵌入式开发操作系统以及相应的驱动(最好有源代码)、开发工具、调试工具、学习用源代码、底板原理图、有相应的技术支持等等。现在的开发板一般的都可以提供丰富的代码。

    第四,最重要的就是技术支持,初学者在学习嵌入式的时候,可能一个简单的烧写系统的过程可能都要弄好几天(有过这个经历的人一定有同感),所以更别说做开发了。其实初学者遇到的问题在有一些基础的人看来可能是非常容易的一件事情,因为不太清楚其中的原理,所以不知道错在什么地方了。所以有一个技术支持是很重要的,迅为的技术支持是认真的,一线工程师有着几年,十几年的开发相关项目经验,提供千人售后交流群,为大家提供一个嵌入式交流平台。

     

    嵌入式开发板推荐

      想学嵌入式linux的,如果手头不宽裕,推荐迅为的i.MX6ULL终结者学习Linux,如果宽裕的,买个4412开发板,毕竟是四核,不单单可以学习Linux,Android也能学习,资料多,售后尽责。

     

     

     

    嵌入式技术的学习方法:

     

      嵌入式是一门交叉学科,知识体系庞大,主要涉及的知识体系包括:C语言、数字电路基础(单片机)、ARM体系结构、硬件设计(ARM接口技术)、Linuxt系统开发、Linux驱动开发、BootLoader(UBOOT)、QT和C++、Android系统和JAVA。

     

      其中C语言是学习基础,其它也是需要了解的,以及在工作中的不断积累。这里的每一项都相当于大学中的一门课程,甚至更多,我们很多人学着学着就学不动了。某种程序上来说,不是资料少,而是资料太多,太杂。我们一直在思考这个问题,如何找到一种快速的学习方法。

     

      作为资深的嵌入式开发板工程师,在五年前迅为总结并推荐框架学习法,并不断发展,跳出来学习,框架学习法不是追求大而全,而是让思路更清晰,掌握精髓,避免填鸭式。

     

      如系统引导程序UBOOT的学习框架,UBOOT作为一个很重要的程序,是最大的裸机程序,知道点非常多,学习有难度。在这个图上有三个环,最里面是初学者需要掌握的,中间是工程师级在产品开发过程中经常遇到的一些方法,外面是专家级需要掌握的内容。

     

         1.那么如何通过框架来学习呢,第一个需要了解的是BootLoader是首先执行的片外程序,第二需要了解的是BootLoader作用是引导内核,第三个需要了解的是BootLoader和Linux内核之前的关系,第四个编译和烧写及命令,学习完以上四步Uboot就入门啦。

     

     2.工程师工作中常用的,需要了解的是:56789

        3.专家级:系统移植一般工作中用不到,有兴趣可以了解下。

     

     

     

    例如:系统引导程序UBOOT图

     

    框架学习法将会贯穿到嵌入式学习的始终,这样学习会让你思路清晰,少走弯路。

    关注“迅为电子”微信公众号,不定期分享教程

    迅为:http://topeetboard.com

    展开全文
  • 个人更倾向于说想做什么样工作,需要侧重学linux的哪部分。 二,选择开发板 学习嵌入式离不开开发板,选择一款合适的开发板会让学习事半功倍。对于学习来说嵌入式开发板的选择要看几点。 1.看硬件性能及软件...

     

    一,确定目标,linux是一个非常非常大的概念。想全部吃透是不可能的。理想的说,搞懂linux,就可以做所有工作。个人更倾向于说想做什么样工作,需要侧重学linux的哪部分。

     

    二,选择开发板

    学习嵌入式离不开开发板,选择一款合适的开发板会让学习事半功倍。对于学习来说嵌入式开发板的选择要看几点。

     

         1.看硬件性能及软件支持情况,是否满足自己的开发要求,Linux学习目前iMX6ULL开发板比较适合,零基础来说学习linux后期打算进一步学习安卓,四核4412开发板是不错的选择。

     

         2.看资料,系统以及相应的驱动是否提供源码、开发工具、调试工具、学习用源代码、底板原理图、及学习教程等。

     

         3.看售后,初学者在学习嵌入式的时候,可能一个简单的烧写系统的过程可能都要弄好几天(有过这个经历的人一定有同感),售后技术指导能少走弯路,提高学习效率。

     

     

    学完可以从事哪方面工作呢,网络应用方向、系统维护方向、驱动开发、嵌入式linux相关工作等。

     

    嵌入式就业前景广阔,保险行业、医疗行业、金融行业、车载导航、智能农业等多种行业均可用到它!

     

    开发板推荐:

    型号

    迅为I.MX6ULL开发板

    迅为iTOP-4412开发板

    处理器

    恩智浦I.MX6ULL单核处理器

     

    三星Exynos4412四核处理器,主频为1.4GHz-1.6GHz

    架构

    ARM Cortex-A7

    ARM Cortex-A9

    系统支持

    Linux-QT系统;Ubuntu core系统;Youcto系统;Buildroot系统;

    Linux-QT5.7/Android 4.0.3 /Android 4.4/Ubuntu12.04操作系统

    学习教程

    2060+页手把手教程(持续更新)

    2300+页手把手教程(持续更新)

    视频教程

    69+期实战视频,含项目实战

    (持续更新)

    300+期配套视频,含项目实战

    (持续更新)

    主要学习内容

    裸机开发,Linux系纺移植,Linux驱动开发,Linux构建文件系统,QT开发,Linux系统编程,Linux系统开发进阶

    安装开发环境 Linux基本命令 Linux应用程序 Linux驱动开发 编译并烧写系统

    Android架构 Android应用程序 Android驱动

     

    迅为I.MX6ULL开发板

     

    迅为iTOP-4412开发板

     

     

    关注公众号“迅为电子”,回复“终结者”,免费下载开发板学习资料。更多技术干货持续更新。

     

    展开全文
  • 目前本人使用的是韦老师IMX6ULL,其他的我没试过,不过我相信一通百通,都可以试试。 解决 关键: /etc/init.d/rcS 初级理解就是相当于是开机自启动文件,可以把你想要执行的一些挂载、环境变量等任务等放到这里,...
  • 我在学习嵌入式linux的过程中很少问人,客观原因是身边的老师、同学师兄都没有这方面的高手,主观原因是我不喜欢问人,喜欢自己研究解决问题。这样做有个好处,就是可以提高自己解决问题的能力,因为做这些东西总有...
  • 嵌入式Linux开发的基本概念2.日常工作中开发流程是怎样? 1.嵌入式Linux开发的基本概念 嵌入式Linux系统,就相当于一套完整的PC软件系统。 嵌入式Linux开发有哪些内容? Windows里含有: 简单地说,嵌入式LINUX系统...

    1.linux开发初了解

    1.1 嵌入式Linux开发的基本概念

    嵌入式Linux系统,就相当于一套完整的PC软件系统。
    嵌入式Linux开发有哪些内容?
    在这里插入图片描述
    Windows里含有: 简单地说,嵌入式LINUX系统里含有


    ① 电脑一开机,那些界面是谁显示的?
    是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。
    类似的,这个BIOS对应于嵌入式Linux里的bootloader。
    Bootloader的作用就是去Flash、SD卡等设备上读入Linux内核,并启动它。
    ② Windows系统必需的软件,比如IE、文件浏览器等保存在哪里?
    在C盘上,里面有各种系统软件。
    对应的,系统运行必需的文件在Linux下我们称之为根文件系统。
    ③ windows能识别出C盘、D盘,那么肯定有读写硬盘的能力。
    这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB等等其他硬件。
    嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。
    ④ Windows启动之后,我们就是聊QQ、玩游戏了,这些就是APP,它们存在磁盘上

    同样的,嵌入式Linux系统中我们也有各种APP,它们位于根文件系统上。


    ① bootloader:用于启动Linux内核
    ② Linux内核(含有驱动程序):提供进程管理、文件管理、硬件驱动等
    ③ 根文件系统:系统运行必需的文件、程序
    ④ APP:保存于根文件系统上

    1.1.1关于Git的背景介绍

    什么是Git?


    Git由Linus Torvalds在2005年创建,用于Linux内核的开发,其他内核开发人员也为它的初始开发做出了贡献。Git是一个免费和开源的 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方法。 从概念上来说,其它大部分系统以文件变更列表的方式存储信息,这类系统(CVS、Subversion、Perforce、Bazaar 等等) 将它们存储的信息看作是一组基本文件和每个文件随时间逐步累积的差异 (它们通常称作 基于差异(delta-based) 的版本控制)。
    参考引用: 请点击

    我们为什么要用Git来管理源码?


    Git的开发流程和代码管理方式适用于国内外各大中小企业,Git也适用于个人发布自己程序源码以及博客网站,同时在文件代码管理上可以很方便的获取同步最新,多人协作开发,以及查看历史提交,集成编译等。

    1.1.2关于repo的背景介绍

    什么是repo?


    repo是Git之上构建的工具。Repo帮助管理许多Git存储库,将其上载到修订控制系统,并自动执行部分开发工作流程。Repo并不是要取代Git,而只是为了使其更易于使用Git。repo命令是可执行的Python脚本,您可以将其放置在路径中的任何位置。

    在这里插入图片描述

    1.1 3 一些关于此背景知识的介绍

    制作根文件系统有归多种方法:
    ① 使用Busybox手工制作
    Busybox本身包含了很了Linux命令,但是要编译其他程序的话需要手工下载、编译,如果它需要某些依赖库,你还需要手工下载、编译这些依赖库。
    如果想做一个极简的文件系统,可以使用Busybox手工制作。
    ② 使用Buildroot自动制作
    它是一个自动化程序很高的系统,可以在里面配置、编译内核,配置编译u-boot、配置编译根文件系统。在编译某些APP时,它会自动去下载源码、下载它的依赖库,自动编译这些程序。
    Buildroot的语法跟一般的Makefile语法类似,很容易掌握。
    ③ 使用Yocto
    NXP、ST等公司的官方开发包是使用Yocto,但是Yocto语法复杂,并且Yocto动辄10GB,下载安装都很困难,普通笔记本编译可能需要2-3天甚至更久,非常不适合初学者(我们不推荐使用yocto构建文件系统)。

    基于上述特点,我们选择Buildroot。
    Buildroot是一组Makefile和补丁,可简化并自动化地为嵌入式系统构建完整的、可启动的Linux环境(包括bootloader、Linux内核、包含各种APP的文件系统)。Buildroot运行于Linux平台,可以使用交叉编译工具为多个目标板构建嵌入式Linux平台。Buildroot可以自动构建所需的交叉编译工具链,创建根文件系统,编译Linux内核映像,并生成引导加载程序用于目标嵌入式系统,或者它可以执行这些步骤的任何独立组合。例如,可以单独使用已安装的交叉编译工具链,而Buildroot仅创建根文件系统。
    参考网址
    Buildroot用户手册 请点击
    Buildroot源码下载位置 请点击
    目录结构的位置以及作用请参考网址请点击
    学习更多关于buildroot知识请参考 请点击
    百问网提供的Buildroot现支持如下包:

    busybox	taglib	libopenh264	qt5_gl_available
    skeleton_init_systemd	tremor	libopusenc	qt5_jscore_available
    alsa_utils	libarchive	libtheora	qt5
    bluez_alsa	zlib	libvpx	qt5_version_latest
    faad2	libzlib	libyuv	qt5base
    ffmpeg	has_zlib	live555	qt5base_network
    flac	libassuan	mediastreamer	qt5base_concurrent
    fluidsynth	libgcrypt	x264	qt5base_sql
    gstreamer1	libgpg_error	x264_cli	qt5base_sqlite_none
    jack2	Libgpgme	libcurl	qt5base_test
    lame	Libksba	libnice	qt5base_xml
    mjpegtools	Openssl	libnl	qt5base_gui
    musepack	libopenssl	libpcap	qt5base_widgets
    pulseaudio	sqlite	libshout	qt5base_opengl
    twolame	libconfig	libsoup	qt5base_opengl_es2
    wavpack	libconfuse	libsrtp	qt5base_opengl_lib
    bzip2	libfuse	libtirpc	qt5base_linuxfb
    lz4	liblockfile	neon	qt5base_eglfs
    xz	bayer2rgb_neon	ortp	qt5base_default_qpa=""
    gdb	bullet	rtmpdump	qt5base_printsupport
    gdb_server	cairo	bctoolbox	qt5base_fontconfig
    gdb_debugger	cairo_pdf	elfutils	qt5base_harfbuzz
    gdb_tui	cairo_png	glibmm	qt5base_gif
    spidev_test	cairo_svg	libb64	qt5base_jpeg
    strace	fontconfg	libbsd	qt5base_png
    libtool	freetype	libcap	qt5base_dbus
    cifs_utils	gdk_pixbuf	libcroco	qt5base_icu
    dosfstools	giflib	libevdev	qt5base_openssl
    e2fsprogs	harfbuzz	libffi	qt5base_tslib
    mmc_utils	jasper	libglib2	qt5canvas3d
    nfs_utils	jpeg	libical	qt5charts
    glmark2_flavor_any	kmsxx	libnpth	qt5connectivity
    libva_utils	libdrm	libsigc	qt5declarative
    fb_test_app	libmediaart	liburcu	qt5declarative_quick
    fbdump	libpng	llvm	qt5enginio
    fbset	libraw	mpdecimal	qt5graphicaleffects
     	librsvg	protobuf	qt5imageformats
    psplash	libsvg	tzdata	qt5location
    xkeyboard_config	libsvg_cairo	icu	qt5multimedia
    dbus	libva	libfribidi	qt5quickcontrols
    evtest	opencv3	ncurses	qt5quickcontrols2
     	has_libegl	pcre	qt5script
    gptfdisk	has_libgles	pcre2	qt5scxml
    i2c_tools	openjpeg	popt	qt5sensors
    iostat	pango	readline	qt5serialbus
    linux_serial_test	pipewire	slang	qt5serialport
    memtool	pixman	bluez_tools	qt5svg
    parted	tiff	bluez5_utils	qt5virtualkeyboard
    spi_tools	wayland	bmon	qt5webchannel
    sysstat	webp	iperf3	qt5websockets
    uboot_tools	dtc	iproute2	qt5xmlpatterns
    has_udev	libaio	iw	attr
    usbmount	libgudev	lrzsz	keyutils
    usbutils	libinput	mii_diag	kmod
    luajit	libpciaccess	mjpg_streamer	kmod_tools
    python3	libusb	mosquitto	start_stop_daemon
    alsa_lib	libxkbcommon	net_tools	swupdate
    fdk_aac	mtdev	openobex	systemd
    libcodec2	tslib	openssh	util_linux
    libcuefile	expat	pppd	myir_hmi_gui
    libreplaygain	json_glib	rpcbind	rs485read
    libsamplerate	jsoncpp	tcpdump	
    libsndfile	libxml2	wget	
    libvorbis	bitstream	wireless_tools	
    mp4v2	libass	opkg	
    opus	libcamera	bash	
    portaudio	libmms	gnupg2	
    sbc	libmpeg2	gnupg2_gpgv	
    speex	libogg	lockfile_progs	
    
    

    我们都做了哪些改进?


    我们基于buildroot官方 2020.02长期支持版本进行适配imx6ull开发板,在此基础上针对ST yocto发行系统做了大量的裁剪,在保证最小系统的基础上增加对qt5.12 库的支持,同时也支持opencv3编程 mqtt库 swupdate ota升级等等比较常用的应用,我们也会提供如何在buildroot新增自己的软件包教程,同时源码保存在gitee上,链接地址为 请点击 大家可以在上面提交issue 或者pull request。

    什么是init系统服务?


    init(为英语:initialization的简写)是 Unix 和 类Unix 系统中用来产生其它所有进程的程序。它以守护进程的方式存在,其进程号为1。Linux系统在引导时加载Linux内核后,便由Linux内核加载init程序,由init程序完成余下的引导过程,比如加载运行级别,加载服务,引导Shell/图形化界面等等。

    什么是systemv守护进程?


    System V(缩写为SysV)在大多数Linux发行版中使用最广泛,在systemv中,有一个第一个程序在内核加载后运行。该程序称为init。Init做一些事情,其中之一就是加载一系列脚本来启动各种系统服务,例如网络,ssh守护程序等。
    System V中的运行级别描述了某些状态。例如:
    运行级别0:暂停
    运行级别1:单用户模式
    运行级别6:重新启动
    systemv的问题在于它需要仔细调整。假设您有一个要在启动时运行的网络文件系统(NFS)客户端。在网络正常工作之前运行NFS没有任何意义。因此,您必须确保它等待启动,直到网络已经正常工作为止。Systemv init这样做的方法是为服务启动设置严格的顺序。每个服务都分配有一个优先级编号,init会按优先级顺序启动服务。如果需要确保网络连接后启动服务,则必须手动为服务分配更高的优先级。这必须由某人(通常是软件包维护者)针对计算机上运行的每项服务来完成。
    在这里插入图片描述

    所有System V初始化脚本都存储在/etc/rc.d/init.d/或/etc/init.d目录中。这些脚本用于控制系统的启动和关闭。通常,您会在这个目录找到启动ssh服务器或网络的脚本,使用/etc/init.d/S50sshd start 开启某个服务或者使用/etc/init.d/S50sshd stop关闭某个服务。

    什么是systemd守护进程?


    systemd这一名字源于Unix中的一个惯例:在Unix中常以“d”作为系统守护进程(英语:daemon,亦称后台进程)的后缀标识。除此以外,systemd亦是借代英文术语D体系,而这一术语即是用于描述一个人具有快速地适应环境并解决困难的能力。
    systemd是Linux电脑操作系统之下的一套中央化系统及设置管理程序(init),包括有守护进程、程序库以及应用软件,由Lennart Poettering带头开发。其开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替现在常用的System V与BSD风格init程序。目前绝大多数的Linux发行版都已采用systemd代替原来的System V。
    在这里插入图片描述

    将service(服务)、target(运行模式,类似于运行级别)、mount、timer、snapshot、path、socket、swap等称为Unit。比如,一个auditd服务(就是auditd.service)就是一个Unit,一个multi-user.target运行模式也是一个Unit,其中不同的服务通过 systemctl 来进行统一管理,例如重启一个sshd服务,需要执行 systemctl restart sshd 命令,同样的如果添加一个启动程序需要自己定义一个 service服务才可以。

    你可以用我们提供的buildroot做些什么?


    快速实现自己的想法,增加自己的应用,学习了解busybox以及各种包是如何编译生成,用于调试内核或者应用程序等等。

    深入了解学习更多关于buildroot知识请参考 请点击

    buildroot下进入menuconfig包选择配置配置界面

    book@100ask:~/100ask_stm32mp157_pro-sdk/Buildroot_2020.02.x$ make menuconfig 
    

    buildroot下单独编译内核

    book@100ask:~/100ask_stm32mp157_pro-sdk/Buildroot_2020.02.x$ make  linux-rebuild 
    

    buildroot下进入内核make menuconfig配置选项界面

    book@100ask:~/100ask_stm32mp157_pro-sdk/Buildroot_2020.02.x$ make linux-menuconfig
    

    buildroot下单独编译u-boot

    book@100ask:~/100ask_stm32mp157_pro-sdk/Buildroot_2020.02.x$ make uboot-rebuild
    

    buildroot下单独编译某个软件包

    book@100ask:~/100ask_stm32mp157_pro-sdk/Buildroot_2020.02.x$ make <pkg>-rebuild
    

    buildroot下进入busybox配置界面

    book@100ask:~/100ask_stm32mp157_pro-sdk/Buildroot_2020.02.x$ make busybox-menuconfig
    

    buildroot下生成系统sdk,最后生成的目录在output/images/目录下

    book@100ask:~/100ask_stm32mp157_pro-sdk/Buildroot_2020.02.x$ make sdk
    

    深入了解学习更多关于buildroot知识请参考 请点击

    1.1.4关于Linux内核的背景介绍

    Linux内核(英语:Linux kernel)是一种开源的类Unix操作系统宏内核。整个Linux操作系统家族基于该内核部署在传统计算机平台(如个人计算机和服务器,以Linux发行版的形式)和各种嵌入式平台,如路由器、无线接入点、专用小交换机、机顶盒、FTA接收器、智能电视、数字视频录像机、网络附加存储(NAS)等。工作于平板电脑、智能手机及智能手表的Android操作系统,它的底层操作系统也是Linux。尽管在桌面计算机的占用率较低,但基于Linux的操作系统统治了几乎从移动设备到主机的其他全部领域。实际Linux的发行版Ubuntu,其易用性也逐渐接近Windows。
    Linux kernel官网:请点击
    linux Kernel维基百科:请点击
    在线阅读linux kernel源码:请点击
    Git仓库地址: 请点击
    更多关于Linux内核资料请参考页面:请点击
    NXP官方kernel源码Git仓库地址: 请点击

    上述Git仓库是专为100ask_imx6ull系列开发板制定的Linux内核,它有如下特性:
    在这里插入图片描述在这里插入图片描述

    最后重启开发板reboot,它就使用新的zImage、dtb、模块了。

    1.1.5关于Bootloader的背景介绍

    Bootloader是在操作系统运行之前运行的一段代码,用于引导操作系统。通常每个操作系统都有一组专属的引导加载程序。引导加载程序通常可以通过多种方式引导操作系统内核,还有各种命令用于调试或修改内核运行环境。
    U-Boot是一个开源的主引导加载程序,用于引导设备的操作系统内核,并含有多种命令以便调试系统。它适用于多种计算机体系结构,包括68k,ARM,Blackfin,MicroBlaze,MIPS,Nios,SuperH,PPC,RISC-V和x86。
    U-boot官网 请点击
    源码下载页面 请点击
    Git仓库地址 请点击
    uboot更多使用讲解请参考页面 请点击
    NXP官方uboot源码Git地址: 请点击
    注意:我们使用的版本针对板子进行过修改,u-boot官网下载的源码不能直接使用。

    1.2 日常工作中开发流程是怎样?

    Bootloader、Linux内核、APP等等软件,需要在Ubuntu中编译;但是阅读、修改这些源码时,在Windows下会比较方便。
    所以,我们需要在Windows、Ubuntu上都存有源码。
    ① 在Windows上阅读、研究、修改(使用Source insight会很方便),修改后上传到Ubuntu(使用Filezilla)
    ② 在Ubuntu上编译、制作(使用MobaXterm远程登录Ubuntu会很方便)
    ③ 把制作好的可执行程序下载到开发板上运行、测试(使用MobaXterm连接开发板的串口)。
    在整个开发过程中,我们会用到Windows、Ubuntu、开发板,如下图所示:
    在这里插入图片描述
    这里只是列出要做的事情,后面会一一讲到。

    1. 安装VMware、下载Ubuntu映象
    2. 安装Windows上各个APP
      这些APP有:SouceInsight、FileZilla、MobaXterm、Notepad++
    3. 下载源码和工具链
      工具链:必须下载或上传到Ubuntu,并设置好PATH环境变量。(简单地说,工具链就是编译器)
      源码:u-boot、Linux内核,学习到时再下载也行,Windows和Ubuntu各存一份。
      注意:根文件系统是使用buildroot制作的,它无需放在Windows上。
    4. 连接开发板
      ① 连接电源线到开发板,
      ② 开发板的串口线,接到Windows电脑;并用MobaXterm连接串口。
      ③ 开发板的网线,接到路由器或交换机,网络的设置请参考以下文档(可先不做):
    5. 烧写系统
      如果开发板系统崩溃,或是新到手的板子上没有系统,请根据后面的开发板使用手册手册来烧写系统。

    1.3 常用的软件

    有如下软件:
    软件名 说明
    vmware 虚拟机软件,安装时需要用到管理员权限,详细的安装过程见后文
    Source insight 阅读、编写源码的工 具,即装即用;推荐初学者使用
    Visual Studio Code 阅读、编写源码的工具,需要进行很多配置;不推荐初学者使用
    MobaXterm 串口工具、远程登录工具
    Filezilla 文件传输工具,在Windows和Ubuntu之间传输文件
    Notepad++ 文本编辑工具,比记事本好用

    注意:Visual Studio Code的配置比较麻烦,建议初学者使用Source insight来阅读、编写源码。

    展开全文
  • 嵌入式linux在arm开发板上移植.ppt
  • 嵌入式linux在arm开发板上的移植 北京泰科威科技有限公司 嵌入式linux在arm开发板上的移植 linux在嵌入式设备上的应用越来越广泛非常多的嵌入式设备都开始由使用其它嵌入式OS向使用linux转变 随着嵌入式技术的发展...
  • stm32mp157是ST推出的一款双A7+M4多核异构处理器,既可以学习linux,又可以学习stm32单片机开发,还可以拓展物联网、人工智能方向技术学习,并极大丰富linux应用场景,非常贴合企业当下开发需求,给职业发展带来广阔...
  • 就目前的市场情况来看,三星的exnoys4412的热度肯定是高于其它任何型号的开发板的,而且质量也相对其比其他的板子质量更高,也许有人会这样问,三星的exnoys4412这样的板子对新手到底有什么好处? 好处当然是很明显的...
  • 类似这样的问题在公众号后台、微信、交流群问的比较多。学嵌入式开发,买开发板是必须的,但不是买了开发板就等于学会了嵌入式。下面围绕买什么样的开发板这个话题简单说两点。开发板种类市面上的开发板...
  • PC和开发板之间传输文件1.1 传输文件的多种方法1.2 通过USB给开发板传文件1.3 安装网络服务1.3.1 在Ubuntu中安装、...开发板使用tftp命令下载文件1.4.2.2 在开发板使用tftp命令上传文件1.4.3 在Windows上通过File
  • 很多电子软件工程师使用STM32系列的单片机...我们来看一下学习Linux之后的一些出路:那么在进行Linux知识的过程中就必须需要使用开发板配合实践,目前市面上具有Linux功能的开发板种类较多,价格和品质也五花八门...
  • 华恒科技发布基于RMI Alchemy AU1210的嵌入式Linux开发板HHAU1210-R1,为厂商及开发人员提供功能丰富的开发工具。利用这款开发板,用户能够进行基于嵌入式Linux系统的上层应用设计开发,实现GPS导航设备、PMP/MP4...
  • gkjj
  • 嵌入式Linux系统开发板搭建GDB调试环境
  • 嵌入式Linux驱动开发基础知识的引导与说明1.1打算讲什么、怎么讲?1.2 需要做什么准备工作2.Hello驱动(不涉及硬件操作)2.1 APP打开的文件在内核中如何表示2.2 打开字符设备节点时,内核中也有对应的struct file2.3 ...
  • 烧写整个系统或更新部分系统1.1 100ASK_IMX6ULL启动开关1.2 在Windows使用USB烧写工具1.2.1 烧写工具目录详解1.2.2 连接USB OTG线1.2.3 安装IMX6ULL的USB驱动程序1.2.3.1 VMWARE可能会截取USB设备导致烧写失败1.2....
  • 嵌入式Linux开发板移植SSH

    千次阅读 2020-02-23 16:13:50
    SSH服务可以很方便的通过网络登录到Linux开发板,同时支持SFTP协议向开发板传输文件。下面简单讲下移植过程。 开发板环境: 名称:imx283 内核:Linux2.6.35.3 1.下载源码 zlib下载 openssl下载 openssh下载 ...
  • 嵌入式Linux应用开发完全手册,非影印PDF,每一个字都可以复制 嵌入式Linux应用开发完全手册,非影印PDF,每一个字都可以复制 嵌入式Linux应用开发完全手册,非影印PDF,每一个字都可以复制 嵌入式Linux应用开发完全...
  • 华恒科技于2007年6月发布基于TI Davinci TMS320DM6446 的嵌入式Linux开发板HHDM6446-R1,为厂商及开发人员提供功能丰富的开发工具。利用这款开发板,用户能够进行基于嵌入式Linux系统的上层应用设计开发,实现IP机顶...
  • 1)交叉编译 vsftpd-ssuclinux-ChinaUnix博客 2)嵌入式 Linux 下的 FTP 服务器配置记录 - h3399 3)vsftpd.conf 配置详解_坏孩子丶的博客-CSDN博客_vsftpd.conf
  • 学嵌入式,一定要买开发板吗?

    千次阅读 2020-04-11 15:17:33
    经常有同学:我想学嵌入式,应该买哪个板子?这个问题本身就是错的。如果你去问10个买过开发板的人,至少有8个最终都吃灰了,而且他也没通过这个板子以及板子附带的所谓“教程”真的学会。如果你...
  • arm嵌入式开发 OK6410开发板LINUX2
  • 嵌入式实验OK6410点亮LED灯 开发机环境 操作系统:ubuntu 12.04 交叉编译环境:arm-linux-gcc 4.3.2 6410板子内核源码:linux-3.0.1 目标板环境:OK6410-A linux-3.0.1 1、 运行结果:此时可以看到OK6410开发板...
  • 华恒科技发布基于RMI Alchemy AU1210的嵌入式Linux开发板HHAU1210-R1,为厂商及开发人员提供功能丰富的开发工具。利用这款开发板,用户能够进行基于嵌入式Linux系统的上层应用设计开发,实现GPS导航设备、PMP/MP4、...
  • CAN总线在嵌入式Linux下驱动程序的实现、电子技术,开发板制作交流
  • linux 开发板(树莓派,香橙派,野火linux开发板,jetson nano) 单片机显示屏 网络 (网线,或者无线模块) 单片机电源 需要控制的硬件等 二. 连接单片机 串口连接 大部分linux 开发板都自带了串口连接功能,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,313
精华内容 12,925
关键字:

学嵌入式linux用什么开发板