1.电脑转码哪个软件好用哪个软件qsv转mp4最好用
2.做凡科网代理靠不靠谱?我认为,白菜白菜因人而异。视频
3.做一个小程序多少钱
4.WinPE镜像制作代码
5.有什么嵌入式视频教程适合自学的源码p源
电脑转码哪个软件好用哪个软件qsv转mp4最好用
一 视频转换什么软件好
问题一:哪一种视频格式转换器最好 格式工厂转换后的画面模糊不清……
问题二:手机视频格式转换软件哪袭升个好用 最好用的手机视频转换软件,推荐用 MP4/RM转换专家
软件对各种手机的白菜白菜支持非常好,也对各种iPhone、视频iPad、源码p源微信源码加密方式iPod、白菜白菜PSP、视频PSV、源码p源MP4机等机子的白菜白菜官方格式支持非常赞。
支持转换各种乱禅裤视频格式,视频并转成各种手机支持的源码p源官方MP4、3GP、白菜白菜FLV、视频AVI、源码p源3G2等视频格式,视频画面非常清晰,可以在手机上播放!
导入视频,选择手机视频格式导出,比如:手机常用MP4格式,参数根据手机机型设置,导出的视频可以在手机哗简上播放。
国内首个引入多核CPU并发转换概念,最高支持核心并发转换,转换速度比其他软件还要快。
软件不像一些杂七杂八的软件一样捆绑大量广告和插件,这点不会影响系统的转换性能。
网络搜索 MP4/RM转换专家
问题三:用哪个软件转换视频格式最好 按清晰度来说的话,格式工厂是不错的选择了,但是有一个缺点,就是转换后的兆数有点大,有些视频还转换不了。另外转换软件如暴风转码,转换后的视频可以压缩大小,特别是对于flv的转换很到位,但有一个缺点就是转换后的视频不能保持原有视频比例,一律给你变成3:4的比例,郁闷。还有一个不怎么太好用的视频转换软件是total video converter,速度很快,但视频质量不好,不过有一个小小的优点,就是有些视频格式工厂和暴风转码转不了的,有total就可以转了,还有就是total适合转换成手机视频3gp、MP4等格式。这三款软件我是交替着按情况使用,一般来讲是用格式工厂。看个人的要求。
问题四:最好的视频转换软件是什么? 萝卜 *** 各有所爱 每个软件都有自己的利弊吧我觉得 我只能说我自己一直在用狸窝全能视频转换器,我就觉得这个软件不错,操作简单而且效率高,功能强大。
问题五:视频转换用什么软件比较好 格式工厂是不错的选择。
原视频是什么格式的?如果是MOV格式,还需要安装quicktime播放器才可以。其它视频格式,基本都支持(除了某些软件的专用视频格式)。
使用方法如图。我是以转换成RMVB为例讲的,你第一步可以选择MP4
问题六:视频转换软件哪个好 萝卜白菜,各有所爱 我现在常用的是狸窝全能视频转换器,操作比较简单,功能非常多。
问题七:目前比较好的专业视频格式转换软件有哪些 adobe premiere
adobe aftereffects
Edius 问题八:什么视频转换软件最好用 视频转换我一般用的是狸沃全能视频转换器,可以对视音频的格式进行转换,还能对视频文件进行剪切、合并以及压缩等操作。操作简单,个人觉得挺不错的。
问题九:视频格式转换软件哪个好 Format Factory(格式工厂)/...,号称万能转换软件。
问题十:视频格式转换下载什么软件好用 FreemakeVideoConverter这个是我一直在用的,还有一个狸窝超级全能视频转换器"也不错
二 视频转码软件哪个好
"视频转码软件哪个好",哪些软件是我们想要的呢,下面深空小编就跟您推荐几款比缺岩较合适的软件或者app给您参考。
1. 影音转码软件 软件类型:电脑软件
软件介绍:
FFQueue是一款视频转码工具,能够协助客户开展视频编码转换,伏则御支持视频编写作用,包含视频剪辑,拼凑等,FFQueue支持大批量对视频文档开展操作,便捷功能强大。
3. 完美转码 软件类型:电脑软件
软件介绍:
概括介绍一款专业的视频转换软件。基本介绍完美者转码是一款专业的视频转换软件,能将常见的电脑视频格式,转换成MP4、AVI、PMP、3GP等设备所需要的格式。
4. 暴风转码 软件类型:电脑软件
软件介绍:
基本介绍“暴风转码”是暴风影音最新推出的一款免费专业音视频转换的全新产品,可以帮助您实现所有流行音视频格式文件的格式转换。
5. 视频转码 软件类型:电脑软件
软件介绍:
视频转码是一款作用好用的视频转码实用工具,页面简约,_有一切广告宣传,软件能够考虑了转码要求的全部规定,只必须导进源代码和输出文档就可以迅速进行,设定画面盯册质量和格式就可以,高质量转码,适用多种多样
三 哪个软件qsv转mp4最好用
QSV是州镇Intel Quick Sync Video的缩写,它是一种硬件加速技术,可以在不降低图像质量的情况下,快速地进行视频编码和解码。在转换视频格式时,使用支持QSV硬件加速的转换工具,可以大幅则睁提高转换速度,开源小程序商城源码同时还可以减少CPU的负载。
以下是一些常见的QSV转MP4的工具,可以根据自己的需求和电脑配置进行选择:
Handbrake:这是一款免费、开源的视频转换工具,支持多种输入和输出格式,可以利用QSV进行视频编码和解码,转换速度较快,同时还具有丰富的视频编辑和调整功能。
Any Video Converter:这是一款功能强大的视频转换工具,支持多种输入和输出格式,可以利用QSV进行视频编码和解码,转换速度较快,同时还具有视频编辑和调整功能,用户界面也比较友好。
Movavi Video Converter:这是一款收费的视频转换工具,支持多种输入和输出格式,可以利用QSV进行视频编码和解码,转换速度较快,同时还具有视频编辑和调整功能,用户界面比较简洁易用。
无论选择哪种工具,建议在使用前先查看一下相关的配置要求和使用说明,以免出现兼容性和操作问题。同时还要注册盯粗意保护自己的电脑安全,尽量下载和安装正版软件,避免使用盗版或不可信来源的软件。
四 苹果电脑有什么好的视频转码软件
推荐以下视频转码软件:
1、爱剪辑:该软件是一款剪辑软件,完全根据中国人的使用习惯、功能需求与审美特点进行全新设计,许多创新功能都颇具首创性。爱剪悔慧辑是最易用、强樱搭大的视频剪辑软件,也是国内首款全能的免费视频剪辑软件,由爱剪辑团队凭借余年的多媒体研发实力,历经6年以上创作而成。
2、拍大师:该软件是一个简单好用脊前拿、功能强大的视频创作软件,它整合了屏幕和摄像头录像、视频剪辑、配音配乐、特效处理、动感相册、手绘涂鸦、导出GIF聊天表情以及其他多种高级功能,且屏幕录像兼容所有游戏,是
做凡科网代理靠不靠谱?我认为,因人而异。
互联网行业的加盟代理和传统实体行业的加盟代理,本质是一样的,试问哪一定行?加盟什么一定赚大钱?这年头银行都可以加盟你都不一定干得下去你信不?反过来说,是不是那些做成功的代理项目,其产品本身就一定是最好用的?我看未必。项目本身和代理商的本事是各占一半的。
关于凡科的言论,我认为是有失偏颇的。或者说大部分都是利己主义者,盘算的都是自己那点小道道。我们来拆解一下。
做凡科代理靠不靠谱最不知所谓的回答莫过于:“我们是凡科的代理商,我这里还有多少多少凡科的预存款,谁要我就转让......”。你这不是在赤裸裸的告诉人家你的凡科代理之路是彻底失败的吗?你好歹找个借口啊,比如老婆生了八包胎家里三辈人都带不过来不得不转让代理权回去带娃,再或者找个老家有百亩良田等你回去继承这样的话来敷衍一下也好嘛。你就赤裸裸的告诉人家:“我代理凡科亏了,谁来帮我接个盘。”到底是你认为别人比你傻还是你真傻?关键你其实在释放一种主观信号,那就是代理凡科不行。真的不行吗?你不行别人也不行?我看未必。
关于凡科代理的另一个理由是说凡科的产品官方直销价很便宜,代理成本价高,利润很低。这种代理可以说连经营思路都没搞清楚。代理凡科是为了赚代理成本价和官方直销价的差价吗?如果是这样,那么问题来了,如果我是一个消费者,请问我为什么要在你一个代理商这里买而不直接在官方买?是老板你长得帅点儿还是你家客服妹子够水灵?凡科的代理模式是OEM代理,代理商是以自有品牌的模式在销售代理产品。为什么要去对标凡科的直营售价呢?比如凡科建站官方价/年,代理商如果也卖的确是没什么利润。但如果提供搭建服务呢,你不妨问问凡科帮客户搭建网站额外收费是多少,那可是远比版本本身的价格高了去了。你提供搭建服务收费比凡科官方收费低一点,你的利润空间和性价比不都出来了吗!如果你说你不会搭建,那请问这是凡科的问题还是你自己的问题?再说了,假设凡科搭建网站收两千,你收八千也行啊只要你够本事拿到客户。你觉得是天方夜谭?我就亲眼见过我们一个客户用凡科互动帮某单位做一场答题活动收费两万的。这利润何止百倍!你说你找不到这样的客户,谈不了这么高的价格。那么请问,这是凡科的问题还是你自己的问题?
还有一种声音是劝你不要去做代理,劝你买断源码自己做。可能很多小白根本看不懂所谓的“买断源码自己做”到底是个啥意思?别慌,听花千骨科技这只行业老鸟给你娓娓道来。首先你要搞清楚什么是源码系统。
我们要知道,不管是网站、小程序、商城、反编译小程序源码app还是其他任何互联网应用,它都是通过代码搭建出来的,我们看到的一个页面一项功能,都是一串串代码的具体呈现。不懂代码搭建技术的外行,肯定是无法玩转代码的。即便你买了一套源代码的建站系统,前期卖家帮你安装好了可以正常使用了,后面出现任何一点点问题,你都只能是睁眼瞎。
那么为什么还是有很多不懂技术的小白却对源码系统情有独钟呢。说到底,便宜。
以凡科建站为例,凡科建站系统也是通过代码开发出来的,只是这套代码在凡科手里攥着,凡科是不可能出售源码的。源码出售就意味着凡科这么一家上市公司多年的研发投入化为灰烬。为什么这样说呢?因为源码就好比一篇可以复制粘贴的文章,一旦公布出来,谁都可以复制粘贴,并贴上自己的署名。凡科十年投入,光凡科建站这一款产品,光开发人员的工资投入可能都不下千万。如果他出售源码给张三,张三明天就可以块一套卖给李四,李四后天就可以1块钱一套挂到拼多多上供全国人民临幸。那么请问,如果你是老板,你将如何来做这门生意?你投入几百上千万就为了造福百姓?
可能有的小白又迷糊了,如果真像我们说的这样,那为什么还是有那么多人那么多公司在卖源码呢?这里面的水可就深了。不管你信不信,市面上在售的源码程序,绝大部分都是盗版程序。即便不是盗版,大多也不是自己开发的。源码买回来也得装到服务器里,服务器每年也有成本,怎么配置服务器维护服务器也需要技术和成本。要让客户网站响应速度够快运行够流畅,服务器的开销绝对不是一个小数目。一个不懂技术的小白是根本玩不转的。本想的是不受制于人,结果反而处处受制于人!你的系统有任何问题你你都得找人,找人就是钱,你拿着源码去找人给你修复BUG不被宰的几率几乎为零!一边被人宰,一边被客户骂,挣卖白菜的钱操卖白粉的心,这就是小白玩源码大概率的结局!
然而,用源码真的比用凡科建站这种智能建站系统好?我倒觉得%的用户更适合用凡科。不管你是会技术还是不会技术。不信?咱们接着聊。
首先你要搞清楚一个现实,那就是.9%的企业搭建网站的需求都是一些基本的信息展示需求,并不需要什么特殊的功能开发。界面美观,运行流畅,网站响应速度快就OK了。你的客户还能比万达集团更有钱?之所以很多人喜欢用源码是因为源码在手可以做二次开发,就是遇到有客户有特殊定制需求的时候可以帮他开发。但现实里%的客户并不需要二次开发。所以一味追求源码只是为了去迎合那0.1%的客户你觉得有这个必要吗?关键这0.1%的客户你以为你拿得下来?你会开发吗?你知道做开发多费钱吗?你做个二道贩子去找人帮你开发,等你给你的客户报完价可能客户就把你拉黑了!客户会说你黑心。可能客户没说错,但是大部分客户对定制开发的预期本来就低得不合常理,他们本来就没有一个合理的预算。这0.1%的客户当中又有%的客户是没有预算的。最后只有十万分之一的客户可以和你正常交流!哎,就问你累不累?去做主流客户的生意才是你应该有的定位,特别是新入行的朋友。你只需要选择一款“放心”的工具,而不是“操心”的工具。
凡科旗下有很多款产品,其中凡科建站无疑是凡科公司的拳头产品,也是凡科起家的产品。凡科建站从凡科成立就开始研发,一次次更新迭代,二十年了,保持每月都有功能更新细节优化。你真觉得一款打磨二十年的产品会特别差劲?你真觉得一家上市公司用二十年时间打造的产品还赶不上那些可以无限复制的源码系统?别说人家凡科是有一个团队在做这件事,就是哪怕只有一个人在做这件事也是做了二十年的。那些恬不知耻说自己卖的源码多好多好的,你就对天发誓你花了多少时间来研发迭代维护你的产品?人家一个团队二十年比不上你半路出家搞两年?你是仙儿你可以点石成金?是骡子是马牵出来比一比不就清楚了吗,人家凡科敢对每一个客户提供不限时免费试用,好多互联网公司卖产品都是尽可能的画大饼,要个试用账号比登天还难!
再次声明,我真不是给凡科站台,更没有劝大家去代理凡科。你去代理凡科对我没有一分钱的好处。我只是想还原事物本来的面貌,让大家不要轻易被旁人误导,以至于做出错误的选择。
做生意特别是做代理,上家稳定比什么都重要。只要产品还算OK,上家稳定不出幺蛾子和你自身的能力就决定了你是否能成功!凡科的微信小程序前端源码客户是按年续费,他干嘛要跑啊?凡科卖出去的产品都是已经开发好的,躺着收钱不好吗,为什么要跑?卖互联网产品是现金交易,又不是贷款盖楼,请问干嘛要跑?你加盟凡科交了十万八万预存款,你卖得出去人家就给你开个账号多个人多双筷子反正大锅饭是煮好的人家干嘛要跑?你要是一个客户也卖不出去,人家利润就更高了,更不用跑啊!
不过这年头生意的确不好做,一次投入那么多委实也是一笔不小的开支,慎重一点也是应该的。比如前期可以考虑不直接向凡科拿代理,和凡科老代理建立合作关系,从老代理那里提单。在支付产品成本的同时给到老代理几十块的利润,相应应该也是有老代理愿意接受的。等你行业经验摸熟了,有了自己的一套成熟的销售策略,客户资源逐渐稳定增多了,到那时再向凡科拿个代理权,到那时岂不胸有成竹。好了,关于代理凡科如果你还有什么疑虑疑问,欢迎与我们联系,我们尽量帮你解答哦。毕竟我们也是行业老人了,帮你介绍一两个靠谱的凡科老代理也是没问题的,无论代理合作还是自用绝对都是很划算的哦!希望我的回答对创业路上的你有所帮助吧!
做一个小程序多少钱
目前市场上小程序制作主要有三种方式,如下:
1、小程序模板套用
2、第三方平台拖拽制作
3、小程序按要求定制
第1种,模板小程序-价格比较低,一般几百到几千不等,好在操作简单,方便,能够快速上线;不好在于不好升级换代,按年收费,而且很多没有相关小程序版权。
第2种,小程序第三方平台拖拽制作-价格中等,一般几百到几千不等。好在于方便,能够快速上线;可以选择小程序的样式很多,可以根据自己想法去设计自己小程序,缺点在于按年收费,没有版权。
第3种,小程序按要求定制-价格比较高,一般5万到十几万.好在功能是按照你的要求定制开发的,相关小程序开发的知识产权。缺点在于价格高,定制版的基本费用在上万元到十几万不等,钱少勿入。
通常来讲,一般常用的小程序并不贵,价格大概在-之间,多则上万,特别的简单的小程序可能几百元就搞定啦,而功能复杂的小程序,一般需要开发定制,由于人工成本比较高,价格一般都是几万起步。
WinPE镜像制作代码
在做启动U盘的时候,我们一般都会将Pe做成ISO的格式,下面就为大家提供一个能够直接生成PE ISO的源码:
@Echo of
COLOR 1e
Set Prog= 启动ISO映像制作程序
Set L1=
Set L2=?
Set L3=┤ %Prog% ├
Set L4=
Set L5=?
Set L6=?
Set L7=?
Set L8=?版权所有:caomaoLBL
?
Set L9=?────────────────────────?
Title %Prog%
::checkos
if /i not "%os%."=="windows_nt." goto systemerro
::判断系统版本并设置theos
ver|find /i " 6.1"nul set winver=win7 set theos=win7
ver|find /i " 6.0"nul set winver=vista set theos=vista
ver|find /i " 5.0"nul set winver=winnt set theos=
ver|find /i " 5.1"nul set winver=winnt set theos=xp
ver|find /i " 5.2"nul set winver=winnt set theos=
goto start
:systemerro
cls
echo.
echo.
echo 注意:未经测试,本软件可能不适用于非 windows pe//xp//vista/win7 操作系统。
echo 按回车键退出安装程序
pause nul
exit
:Start
Title %Prog%——制作
CLS
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo ? 请选择生成方式: ?
Echo %L6%
Echo ? [1] 生成 Grub4dos英文版启动 ISO映像 ?
Echo ? [2] 生成 Grub4dos中文版启动 ISO映像 ?
Echo ? [3] 生成 Grub4dosGfxmenu启动 ISO映像 ?
Echo ? [4] 生成 Isolinux启动 ISO映像 ?
Echo ? [5] 生成 ISO格式PE内核 ISO映像 ?
Echo ? [6] 生成 纯PE启动 ISO映像
Echo ? [7] 生成 EZboot启动 ISO映像 ?
Echo ? [8] 生成 Bootmgr启动 ISO映像 ?
Echo ? [Q] 退出 ?
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
echo.
echo 您现在使用的是 windows %theos% 操作系统 !
echo.
::Set Choice=
Set /P Choice=请选择要进行的操作 (1/2/3/4/5/6/7/8/Q) ,然后按回车:
If "%Choice%"=="" GOTO Start
If Not "%Choice%"=="" SET Choice=%Choice:~0,1%
If /I "%Choice%"=="1" GOTO Gruben
If /I "%Choice%"=="2" GOTO Grubchs
If /I "%Choice%"=="3" GOTO Grubgfx
If /I "%Choice%"=="4" GOTO Isolinux
If /I "%Choice%"=="5" GOTO Neihe
If /I "%Choice%"=="6" GOTO PEiso
If /I "%Choice%"=="7" GOTO EZboot
If /I "%Choice%"=="8" GOTO Bootmgr
If /I "%Choice%"=="q" EXIT
Goto Start
:Gruben大白菜官网
Binoscdimg.exe -h -m -o -d -l"GRUBEN" -n -b"Bingrldr.bif" -t//,:: -x "rojectGruben" "Gruben.iso"
Goto :Success
:Grubchs
Binoscdimg.exe -h -m -o -d -l"GRUBCHS" -n -b"Bingrchs.bif" -t//,:: -x "rojectGrubchs" "Grubchs.iso"
Goto :Success
:Grubgfx
Binoscdimg.exe -h -m -o -d -l"GRUBGFX" -n -b"Bingrgfx.bif" -t//,:: -x "rojectGrubgfx" "Grubgfx.iso"
Goto :Success
:Isolinux
Binoscdimg.exe -h -m -o -d -l"ISOLINUX" -n -b"Binisolinux.bin" -t//,:: -x "rojectIsolinux" "Isolinux.iso"
Goto :Success
:Neihe
Binoscdimg.exe -h -m -o -l"WINPE" -n -t//,:: -x "rojectNeiHe" "WINPE.ISO"
Goto :Success
Eiso
Binoscdimg.exe -h -m -o -d -l"E" -n -b"Binpe.bin" -t//,:: -x "rojectPEiso" "E.iso"
Goto :Success
:EZboot
Binoscdimg.exe -h -m -o -d -l"EZBOOT" -n -b"rojectEZbootbootloader.bin" -t//,:: -x "rojectEZboot" "EZboot.iso"
Goto :Success
:Bootmgr
Binoscdimg.exe -h -m -o -d -l"NT6.X" -n -b"Binbootmgr.bif" -t//,:: -x "ProjectNT6.X" "NT6.X.iso"
Goto :Success
:Success
title %prog%——制作完成
cls
echo.
echo.ISO映像 已制作成功,就在当前目录下...
echo.
set /p cho=返回主菜单继续制作请输入Y,否则按Enter(回车)退出。
if /i "%cho%"=="y" call :start
exit
有什么嵌入式视频教程适合自学的
原文链接:网页链接我是年上的大学,物理专业。在大一时,我们班里普遍弥漫着对未来的不安,不知道学习了物理后出去能做什么。你当下的经历、当下的学习,在未来的一天肯定会影响到你。毕业后我们也各自找到了自己的职业:出国深造转行做金融、留校任教做科研、设计芯片、写程序、创办公司等等,这一切都离不开在校时学到的基础技能(数学、IT、电子电路)、受过煅炼的自学能力。
所以,各位正在迷茫的在校生,各位正在尝试转行的程序员,未来一定有你的位置,是好是坏取决于你当下的努力与积累。
我不能预言几年后什么行业会热门,也不能保证你照着本文学习可以发财。我只是一个有十几年经验的程序员,给对编程有兴趣的你,提供一些建议。
1.程序员的三大方向程序员的方向,一般可以分为3类:专业领域、业务领域、操作系统领域。热度源码你了解它们后,按兴趣选择吧。
对于专业领域,我提供不了建议。
业务,也就是应用程序,它跟操作系统并不是截然分开的:
①开发实体产品时,应用程序写得好的人,有时候需要操作系统的知识,比如调度优先级的设置、知道某些函数可能会令进程休眠。
②写应用程序的人进阶为系统工程师时,他需要从上到下都了解,这时候就需要有操作系统领域的知识了,否则,你怎么设计整个系统的方案呢?
③做应用程序的人,需要了解行业的需求,理解业务的逻辑。所以,当领导的人,多是做应用的。一旦钻入了某个行业,很难换行业。
④而操作系统领域,做好了这是通杀各行业:他只负责底层系统,在上面开发什么业务跟他没关系。这行很多是技术宅,行业专家。
⑤操作系统和业务之间并没有一个界线。有操作系统经验,再去做应用,你会对系统知根知底,碰到问题时都有解决思路。有了业务经验,你再了解一下操作系统,很快就可以组成一个团队自立门户,至少做个CTO没问题。
1.1 专业领域它又可以分为下面2类。
1.1.1 学术研究比如语音、图像处理、人工智能,这类工作需要你有比较强的理论知识,我倾向于认为这类人是“科学家”,他们钻研多年,很多时候是在做学术研究。
在嵌入式领域,需要把他们的成果用某种算法表达出来,针对某种芯片进行优化,这部分工作也许有专人来做。
1.1.2 工程实现
也有这样一类人,他们懂得这些专业领域的概念,但是没有深入钻研。可以使用各类开源资料实现某个目标,做出产品。比如图像处理,他懂得用opencv里几百个复杂函数来实现头像识别。有时候还可以根据具体芯片来优化这些函数。
“专业领域”不是我的菜,如果你要做这一块,我想最好的入门方法是在学校学习研究生、博士课程。
1.2 业务领域换句话说,就是应用程序,这又可以分为下面2类。
1.2.1 界面显示
做产品当然需要好的界面,但是,不是说它不重要,是没什么发展后劲。
现在的热门词是Android APP和IOS APP开发。你不要被Android、IOS两个词骗了,它们跟以前的VC、VB是同一路货色,只是、仅仅是一套GUI控件的实现。
希望没有冒犯到你,我有理由。
一个程序需要有GUI界面,但是程序的内在逻辑才是核心。Android、IOS的开发工具给我们简化了GUI的开发,并提供了这些控件的交互机制,封装并提供了一些服务(比如网络传输)。但是程序内部的业务逻辑、对视频图像声音的处理等等,这才是核心。另外别忘了服务器那边的后台程序:怎样更安全地保存数据、保护客户的隐私,怎样处理成千上万上百万的并发访问,等等,这也是核心。
但是,从Android、IOS APP入门入行,这很快!如果你是大四,急于找到一份工作,那么花上1、2个月去学习Android或IOS,应该容易找到工作,毕竟APP的需求永远是最大的,现在这两门技术还算热门。在、年左右,Android程序员的起薪挺高,然后开始下滑。Android APP的入门基本只要1个月,所以懂的人也越来越多。、年,IOS开发的工资明显比Android高了,于是各类IOS培训也火曝起来。中华大地向来不缺速成人才,估计再过一阵子IOS工程师也是白菜价了。
会Android、IOS只是基本要求,不信去job搜搜Android或IOS,职位要求里肯定其他要求。
1.2.2 业务逻辑
举个简单例子,做一个打卡软件,你需要考虑这些东西:
①正常流程是上班下班时都要打卡
②有人忘记了怎么办?作为异常记录在案,推送给管理员
③请假时怎么处理?
④加班怎么处理?
对于更复杂的例子,视频会议系统里,各个模块怎么对接,各类协议怎么兼容,你不深入这个行业,你根本搞不清楚。
应用开发的职位永远是最多的,入门门槛也低。基本上只要你会C语言,面试时表现比较得体,一般公司都会给你机会。因为:
①你进公司后,还需要重新培训你:熟悉它们的业务逻辑。
②你要做的,基本也就是一个个模块,框架都有人给你定好了,你去填代码就可以了。
说点让你高兴的事:软件公司里,做领导的基本都是写应用程序的(当然还有做市场的)。写应用程序的人,对外可以研究市场接待客户,对内可以管理程序员完成开发,不让他做领导让谁做?
如果你的志向是写应用程序,那么我建议你先练好基本功:数据结构、算法是必备,然后凭兴趣选择数据库、网络编程等等进行深入钻研。
最后,选择你看好的、感兴趣的行业深耕个年吧。做应用开发的人选择了某个行业,后面是很难换行业的,选行很重要!
1.3 操作系统领域UCOS太简单,VxWorks太贵太专业,Windows不玩嵌入式了,IOS不开源,所以对于操作系统领域我们也只能玩Linux了。
在嵌入式领域Linux一家独大!
Android呢?Android跟QT一样,都是一套GUI系统。只是Google的实力太强了,现在Android无处不在,所以很多时候Linux+Android成了标配。注意,在这里我们关心的是Android的整个系统、里面的机制,而不是学习几个API然后开发界面程序。操作系统领域所包含的内容,简单地说,就是制作出一台装好系统的专用“电脑”,可以分为:
①为产品规划硬件:
按需求、性能、成本选择主芯片,搭配周边外设,交由硬件开发人员设计。
②给单板制作、安装操作系统、编写驱动
③定制维护、升级等系统方案
④还可能要配置、安装Android等GUI系统:
⑤为应用开发人员配置开发环境
⑥从系统角度解决疑难问题
这个领域,通常被称为“底层系统”或是“驱动开发”。
先解决2个常见误区:
①这份工作是写驱动程序吗?
看看上面罗列的6点,应该说,它包含驱动开发,但远远不只有驱动开发。
②我们还需要写驱动吗?不是有原厂吗?或者只需要改改就可以?
经常有人说,芯片原厂都做好驱动了,拿过来改改就可以了。如果,你的硬件跟原厂的公板完全一样,原厂源码毫无BUG,不想优化性能、削减成本,不想做一些有特色的产品,那这话是正确的。
但是在这个不创新就是找死的年代,可能吗?!原因有二:
①即使只是修改代码,能修改的前提是能理解;能理解的最好煅炼方法是从零写出若干驱动程序。
②很多时候,需要你深度定制系统。
以前做联发科手机只需要改改界面就可以出货了,现在山寨厂一批批倒下。大家都使用原厂的方案而不加修改时,最后只能拼成本。
举个例子,深圳有2家做交通摄像头、监控摄像头的厂家,他们曾经找我做过4个项目:
①改进厂家给的SD卡驱动性能,使用DMA。
②换了Flash型号后,系统经常出问题,需要修改驱动BUG。
③触摸屏点击不准,找原因,后来发现是旁路电容导致的。
④裁减成本,把4片DDR换为2片DDR,需要改bootloader对DDR的初始化。
这些项目都很急,搞不定就无法出货,这时候找原厂?除非你是中兴华为等大客户,否则谁理你?
我在中兴公司上班时,写驱动的时间其实是很少的,大部分时间是调试:系统调优,上帮APP工程师、下帮硬件工程师查找问题。我们从厂家、网上得到的源码,很多都是标准的,当然可以直接用。但是在你的产品上也许优化一下更好。比如我们可以把摄像头驱动和DMA驱动揉合起来,让摄像头的数据直接通过DMA发到DSP去。我们可以在软件和硬件之间起桥梁作用,对于实体产品,有可能是软件出问题也可能是硬件出问题,一般是底层系统工程师比较容易找出问题。
当硬件、软件应用出现问题,他们解决不了时,从底层软件角度给他们出主意,给他们提供工具。再比如方案选择:芯片性能能否达标、可用的BSP是否完善等等,这只能由负责整个方案的人来考虑,他必须懂底层。
在操作系统领域,对知识的要求很多:
①懂硬件知识才能看懂电路图
②英文好会看芯片手册
③有编写、移植驱动程序的能力
④对操作系统本身有一定的理解,才能解决各类疑难问题
⑤理解Android内部机制
⑥懂汇编、C语言、C++、JAVA
它绝对是一个大坑,没有兴趣、没有毅力的人慎选。
①这行的入门,绝对需要半年以上,即使全天学习也要半年。
②它的职位,绝对比APP的职位少
③并且你没有1、2年经验,招你到公司后一开始你做的还是APP。
优点就是:
①学好后,行业通杀,想换行就换行;想自己做产品就自己做产品。
②相比做应用程序的人,不会被经常变动的需求搞得天天加班。
③门槛高,当然薪水相对就高。
操作系统领域,我认为适合于这些人:
①硬件工程师想转软件工程师,从底层软件入门会比较好
②单片机工程师,想升级一下。会Linux底层的人肯定会单片机,会单片机的人不一定会Linux。
③时间充足的学生:如果你正读大二大三,那么花上半年学习嵌入式Linux底层多有益处。
④想掌握整个系统的人,比如你正在公司里写APP,但是想升为系统工程师,那么底层不得不学。
⑤想自己创业做实体产品的工程师,你有钱的话什么技术都不用学,但是如果没钱又想做产品,那么Linux底层不得不学。
⑥做Linux APP的人,没错,他们也要学习。
这部分人不需要深入,了解个大概就可以:bootloader是用来启动内核,Linux的文件系统(第1个程序是什么、做什么、各目录干嘛用)、APP跟驱动程序的调用关系、工具链,有这些概念就可以了
本文中,就把操作系统默认为Linux,讲讲怎么学习嵌入式Linux+Android系统。
1.4 嵌入式Linux+Android系统包含哪些内容
嵌入式Linux系统包含哪些东西?不要急,举一个例子你就知道了。
①电脑一开机,那些界面是谁显示的?
是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。
类似的,这个BIOS对应于嵌入式Linux里的bootloader。这个bootloader要去Flash上读入Linux内核,并启动它。
②启动windows的目的是什么?
当然运行应用程序以便上网、聊天什么的了。
这些上网程序、聊天程序在哪?
在C盘、D盘上。
所以,windows要先识别出C盘、D盘。在Linux下我们称之为根文件系统。
③windows能识别出C盘、D盘,那么肯定有读写硬盘的能力。
这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB等等其他硬件。嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。
简单地说,嵌入式LINUX系统里含有bootloader、内核、驱动程序、根文件系统、应用程序这5大块。而应用程序,我们又可以分为:C/C++、Android。
所以,嵌入式Linux+Android系统包含以下6部分内容:
①bootloader
②Linux内核
③驱动程序
④使用C/C++编写的应用程序
⑤Android系统本身
⑥Android应用程序
Android跟Linux的联系实在太大了,它的应用是如此广泛,学习了Linux之后没有理由停下来不学习Android。在大多数智能设备中,运行的是Linux操作系统;它上面要么安装有Android,要么可以跟Android手机互联。现在,Linux+Android已成标配。
2. 怎么学习嵌入式Linux操作系统
本文假设您是零基础,以实用为主,用最快的时间让你入门;后面也会附上想深入学习时可以参考的资料。
在实际工作中,我们从事的是“操作系统”周边的开发,并不会太深入学习、修改操作系统本身。
①操作系统具有进程管理、存储管理、文件管理和设备管理等功能,这些核心功能非常稳定可靠,基本上不需要我们修改代码。我们只需要针对自己的硬件完善驱动程序
②学习驱动时必定会涉及其他知识,比如存储管理、进程调度。当你深入理解了驱动程序后,也会加深对操作系统其他部分的理解
③Linux内核中大部分代码都是设备驱动程序,可以认为Linux内核由各类驱动构成
但是,要成为该领域的高手,一定要深入理解Linux操作系统本身,要去研读它的源代码。
在忙完工作,闲暇之余,可以看看这些书:
①赵炯的《linux内核完全注释》,这本比较薄,推荐这本。他后来又出了《Linux 内核完全剖析》,太厚了,搞不好看了后面就忘记前面了。
②毛德操、胡希明的《LINUX核心源代码情景分析》,此书分上下册,巨厚无比。当作字典看即可:想深入理解某方面的知识,就去看某章节。
③其他好书还有很多,我没怎么看,没有更多建议
基于快速入门,上手工作的目的,您先不用看上面的书,先按本文学习。
2.1 入门路线图
假设您是零基础,我们规划了如下入门路线图。前面的知识,是后面知识的基础,建议按顺序学习。每一部分,不一定需要学得很深入透彻,下面分章节描述。
2.2 学习驱动程序之前的基础知识2.2.1 C语言
只要是理工科专业的,似乎都会教C语言。我见过很多C语言考试、分的,一上机就傻了,我怀疑他们都没在电脑上写过程序。
理论再好,没有实践不能干活的话,公司招你去干嘛?
反过来,实践出真知,学习C语言,必须练练练、写写写!
当你掌握基本语法后,就可以在电脑上练习一些C语言习题了;
当你写过几个C程序后,就可以进入下一阶段的裸机开发了。
①不需要太深入
作为快速入门,只要你会编写“Hello, world!”,会写冒泡排序,会一些基础的语法操作,暂时就够了。
指针操作是重点,多练习;
不需要去学习过多的数据结构知识,只需要掌握链表操作,其他不用学习,比如:队列、二叉树等等都不用学;不需要去学习任何的函数使用,比如文件操作、多线程编程、网络编程等等;这些知识,在编写Linux应用程序时会用,但是在操作系统特别是驱动学习时,用不着!
永往直前吧,以后碰到不懂的C语言问题,我们再回过头来学习。
在后续的“裸机开发”中,会让你继续练习C语言,那会更实战化。
C语言是在写代码中精进的。
②可以在Visual Studio下学习,也可以在Linux下学习,后者需要掌握一些编译命令,我们暂时没有提供C语言的教程,找一本C语言书,网上找找免费的C语言视频(主要看怎么搭建环境),就可以自学了。
2.2.2 PC Linux基本操作:
对于PC Linux,我们推荐使用Ubuntu,在它上面安装软件非常简便。
我们的工作模式通常是这样:在Windows下阅读、编写代码,然后把代码上传到PC Linux去编译。实际上,Ubuntu的桌面系统已经很好用了,我们拿到各种智能机可以很快上手,相信Ubuntu的桌面系统也可以让你很快上手。为了提高工作效率,我们通常使用命令行来操作Ubuntu。
不用担心,你前期只需要掌握这几条命令就可以了,它们是如此简单,我干脆列出它们:
①cd : Change Directory(改变目录)
cd 目录名 // 进入某个目录cd .. // cd “两个点”:返回上一级目录cd - // cd “短横”:返回上一次所在目录
②pwd : Print Work Directory(打印当前目录 显示出当前工作目录的绝对路径)
③mkdir : Make Directory(创建目录)
mkdir abc // 创建文件夹abc
mkdir -p a/b/c // 创建文件夹a,再a下创建文件夹b,再在b下创建文件夹c
④rm : Remove(删除目录或文件)
rm file // 删除名为file的文件
rm -rf dir // 删除名为dir的目录
⑤ls : List(列出目录内容)
⑥mount : 挂载
mount -t nfs -o nolock,vers=2 ..1.:/work/nfs_root /mnt
mount -t yaffs /dev/mtdblock3 /mnt
⑦chown : Change owner(改变文件的属主,即拥有者)
chown book:book /work -R //对/work目录及其下所有内容,属主改为book用户,组改为book
⑧chmod : Change mode(改变权限),下面的例子很简单粗暴
chmod /work -R // 对/work目录及其下所有内容,权限改为可读、可写、可执行
⑨vi : Linux下最常用的编辑命令,使用稍微复杂,请自己搜索用法。
要练习这些命令,你可以进入Ubuntu桌面系统后,打开终端输入那些命令;或是用SecureCRT、putty等工具远程登录Ubuntu后练习。
2.2.3 硬件知识
我们学习硬件知识的目的在于能看懂原理图,看懂通信协议,看懂芯片手册;不求能设计原理图,更不求能设计电路板。
对于正统的方法,你应该这样学习:
①学习《微机原理》,理解一个计算机的组成及各个部件的交互原理。
②学习《数字电路》,理解各种门电路的原理及使用,还可以掌握一些逻辑运算(与、或等)。
③《模拟电路》?好吧,这个不用学,至少我在工作中基本用不到它,现在全忘光了。
就我个人经验来说,这些课程是有用的,但是:
①原理有用,实战性不强。
比如《微机原理》是基于x系统,跟ARM板子有很大差别,当然原理相通。
我是在接触嵌入式编程后,才理解了这些课程。
②每本书都那么厚,内容都很多,学习时间过长,自学有难度。
针对这些校园教材的不足,并结合实际开发过程中要用到的知识点,我们推出了《学前班_怎么看原理图》的系列视频:
学前班第1课第1节___怎么看原理图之GPIO和门电路.wmv
学前班第1课第2.1节_怎么看原理图之协议类接口之UART.wmv
学前班第1课第2.2节_怎么看原理图之协议类接口之I2C.wmv
学前班第1课第2.3节_怎么看原理图之协议类接口之SPI.wmv
学前班第1课第2.4节_怎么看原理图之协议类接口之NAND Flash.wmv
学前班第1课第2.5节_怎么看原理图之协议类接口之LCD.wmv
学前班第1课第3节___怎么看原理图之内存类接口.wmv
学前班第1课第4.1节_怎么看原理图之分析S3C开发板.wmv
学前班第1课第4.2节_怎么看原理图之分析S3C开发板.wmv
学前班第1课第4.3节_怎么看原理图之分析S3C开发板.wmv
即使你只具备初中物理课的电路知识,我也希望能通过这些视频,让你可以看懂原理图,理解一些常见的通信协议;如果你想掌握更多的硬件知识,这些视频也可以起个索引作用,让你知道缺乏什么知识。
这些视频所讲到的硬件知识,将在《裸板开发》系列视频中用到,到时可以相互对照着看,加深理解。
2.2.4 要不要专门学习Windows下的单片机开发
很多学校都开通了单片机的课程,很多人都是从单片机、AVR单片机,现在比较新的STM单片机开始接触嵌入式领域,并且使用Windows下的开发软件,比如keil、MDK等。
问题来了,要不要专门学习Windows下的单片机开发?
①如果这是你们专业的必修课,那就学吧
②如果你的专业跟单片机密切相关,比如机械控制等,那就学吧
③如果你只是想从单片机入门,然后学习更广阔的嵌入式Linux,那么放弃在Windows下学习单片机吧!
理由如下:
①Windows下的单片机学习,深度不够
Windows下有很好的图形界面单片机开发软件,比如keil、MDK等。
它们封装了很多技术细节,比如:
你只会从main函数开始编写代码,却不知道上电后第1条代码是怎么执行的;
你可以编写中断处理函数,但是却不知道它是怎么被调用的;
你不知道程序怎么从Flash上被读入内存;
也不知道内存是怎么划分使用的,不知道栈在哪、堆在哪;
当你想裁剪程序降低对Flash、内存的使用时,你无从下手;
当你新建一个文件时,它被自动加入到工程里,但是其中的机理你完全不懂;
等等等。
②基于ARM+Linux裸机学习,可以学得更深,并且更贴合后续的Linux学习。实际上它就是Linux下的单片机学习,只是一切更加原始:所有的代码需要你自己来编写;哪些文件加入工程,需要你自己来管理。
在工作中,我们当然倾向于使用Windows下更便利的工具,但是在学习阶段,我们更想学习到程序的本质。
一切从零编写代码、管理代码,可以让我们学习到更多知识:
你需要了解芯片的上电启动过程,知道第1条代码如何运行;
你需要掌握怎么把程序从Flash上读入内存;
需要理解内存怎么规划使用,比如栈在哪,堆在哪;
需要理解代码重定位;
需要知道中断发生后,软硬件怎么保护现场、跳到中断入口、调用中断程序、恢复现场;
你会知道,main函数不是我们编写的第1个函数;
你会知道,芯片从上电开始,程序是怎么被搬运执行的;
你会知道,函数调用过程中,参数是如何传递的;
你会知道,中断发生时,每一个寄存器的值都要小心对待;
等等等。
你掌握了ARM+Linux的裸机开发,再回去看Windows下的单片机开发,会惊呼:怎么那么简单!并且你会完全明白这些工具没有向你展示的技术细节。
驱动程序=Linux驱动程序软件框架+ARM开发板硬件操作,我们可以从简单的裸机开发入手,先掌握硬件操作,并且还可以:
①掌握如何在PC Linux下编译程序、把程序烧录到板子上并运行它
②为学习bootloader打基础:掌握了各种硬件操作后,后面一组合就是一个bootloader
2.2.5 为什么选择ARM9 S3C开发板,而不是其他性能更好的?
有一个错误的概念:S3C过时了、ARM9过时了。
这是不对的,如果你是软件工程师,无论是ARM9、ARM、A8还是A9,对我们来说是没有差别的。
一款芯片,上面有CPU,还有众多的片上设备(比如UART、USB、LCD控制器)。我们写程序时,并不涉及CPU,只是去操作那些片上设备。
所以:差别在于片上设备,不在于CPU核;差别在于寄存器操作不一样。
因为我们写驱动并不涉及CPU的核心,只是操作CPU之外的设备,只是读写这些设备的寄存器。
之所以推荐S3C,是因为它的Linux学习资料最丰富,并有配套的第1、2期视频。
2.2.6 怎么学习ARM+Linux的裸机开发
学习裸机开发的目的有两个:
①掌握裸机程序的结构,为后续的u-boot作准备
②练习硬件知识,即:怎么看原理图、芯片手册,怎么写代码来操作硬件
后面的u-boot可以认为是裸机程序的集合,我们在裸机开发中逐个掌握各个部件,再集合起来就可以得到一个u-boot了。
后续的驱动开发,也涉及硬件操作,你可以在裸机开发中学习硬件知识。
注意:如果你并不关心裸机的程序结构,不关心bootloader的实现,这部分是可以先略过的。在后面的驱动视频中,我们也会重新讲解所涉及的硬件知识。
推荐两本书:杜春蕾的《ARM体系结构与编程》,韦东山的《嵌入式Linux应用开发完全手册》。后者也许是国内第1本涉及在PC Linux环境下开发的ARM裸机程序的书,如果我说错了,请原谅我书读得少。
对于裸机开发,我们提供有2部分视频:
①环境搭建
第0课第1节_刚接触开发板之接口接线.wmv
第0课第2节_刚接触开发板之烧写裸板程序.wmv
第0课第3节_刚接触开发板之重烧整个系统.wmv
第0课第4节_刚接触开发板之使用vmwae和预先做好的ubuntu.wmv
第0课第5节_刚接触开发板之u-boot打补丁编译使用及建sourceinsight工程.wmv
第0课第6节_刚接触开发板之内核u-boot打补丁编译使用及建sourceinsight工程.wmv
第0课第7节_刚接触开发板之制作根文件系统及初试驱动.wmv
第0课第8节_在TQ,MINI上搭建视频所用系统.wmv
第0课第9节_win7下不能使用dnw烧写的替代方法.wmv
.................
原文链接:网页链接