学习linux嵌入式开发什么软件好?

学习linux嵌入式开发什么软件好?,第1张

用Linux平台就行了,C语言一定要学好,指针一定要明确,像指针数组、数组指针、指针函数、函数指针数组、函数返回值是个指针,结构体指针(主要是链表)、文件操作指针(FILE *其实是typedef结构体的指针)等,要灵活运用typedef 定义类型、灵活运用结构体。

再学习Linux的系统编程,主要是文件操作,文件描述符fd,对文件的操作write,read,open.close等,然后学习进程fork()vfork()创建进程和管理父子进程,进程之间的通信无名管道、命名管道、消息队列、共享内存、信号量、套接字等;都掌握之后要学线程以及线程的互斥和同步,线程之间共享进程的资源,就要对资源进行合理的分配,例如信号量sem和线程互斥锁pthread_mutex,信号是用来检测信号的ISGNAL的,常见的信号例如ctrl+c,中断前台的进程和kill中断后台的进程,如果对网络感兴趣,可以学习下Linux的网络套接子Socket,实现多台主机之间进程的通信,例如QQ和IPMSG都是对网络套接字的操作,熟悉一下TCP、UDP协议和TFTP、HTTP的网络层的传输协议,个人觉得解析buff最费时间,可以自己做一下IPMSG,单用户和并发server,echo服务器。

感兴趣GUI的可以学习一下C++和Qt,Qt被nokia收购,nokia被微软收购,Qt支持很多的平台,很实用,C++主要是对类的操作,和C中的结构体相似,class 类名{};// 声明类class 类名:继承方式 基类{};//继承类类中包含私有成员、公有成员、受保护的成员,类是对事物共性的一种抽象,对象是共性的一种实体化,是类的一个实例,老师的共性是:教书,吃饭,睡觉等,可以抽象成一个类,个性是年龄、性别、名字等,是老师类的一个实例,C++还有很多的内容,Qt是用C++来写的,其中的窗口都是派生于QWidget的,具体的不多说了。

学完C++和Qt,有了面向对象的概念后,可以去学Java和android系统,做手机的应用软件和游戏开发,和Java 和C++类似,去掉c++中指针部分,完全脱离了内存的操作,完全的面向对象,android和Qt类似,具体内容不多说了。

说说底层的吧:

底层主要用到的是C语言和arm汇编主要是v4版本以后的汇编标准语言,首先清楚底层是怎么引导Linux系统的,嵌入式很大一部分使用缩减版的Linux内核主要是稳定版本的,千万不要去追求最新,最适合的才是最好的,前部分由汇编语言引导C语言,主要设置开发板软硬件的环境,主要是bootloader(vivi、uboot.bin),然后把设置好的param参数传给内核,内核调用这些参数去找相应的文件,进行相应的操作,然后就是Linux的根文件系统了,最后是软件的移植。

用到的软件:vmplayer (Linux redenterp版)、windows下的超级终端,LSJF24X0.exe(下载bootloader时使用,也可以用H-Jtag)、tftpd32.exe(做windows下的server用,用于u-boot网线下载)等工具。

以上是个人的体会,仅供参考!

解决方案

1. 备份 SEPM 服务器注册表。

2. 将附录部分的注册表导出信息保存为 *.reg 文件。

注意: 如果SEPM安装在默认路径之外,请注意修改

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\Parameters]

中的 SEPM 安装路径为实际安装路径。

3. 双击 reg 文件导入注册表文件。

4. 完成后运行 regedit 打开注册表,确认

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5] 项已经导入。

注意: 如果 SEPM 安装在默认路径之外,请注意修改

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\ImagePath]

为实际的 SEPM 安装路径。

5. 重新启动服务器操作系统,确认 Symantec Embedded Database 服务启动正常。

附录

将以下内容粘贴入记事本,并保存为 .reg 文件: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5]

"Type"=dword:00000010

"Start"=dword:00000002

"ErrorControl"=dword:00000001

"ImagePath"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,\

20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,53,00,79,00,6d,00,61,00,6e,00,74,\

00,65,00,63,00,5c,00,53,00,79,00,6d,00,61,00,6e,00,74,00,65,00,63,00,20,00,\

45,00,6e,00,64,00,70,00,6f,00,69,00,6e,00,74,00,20,00,50,00,72,00,6f,00,74,\

00,65,00,63,00,74,00,69,00,6f,00,6e,00,20,00,4d,00,61,00,6e,00,61,00,67,00,\

65,00,72,00,5c,00,41,00,53,00,41,00,5c,00,77,00,69,00,6e,00,33,00,32,00,5c,\

00,64,00,62,00,73,00,72,00,76,00,39,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\

68,00,76,00,41,00,53,00,41,00,4e,00,59,00,73,00,5f,00,73,00,65,00,6d,00,35,\

00,00,00

"DisplayName"="Symantec Embedded Database"

"Group"="ASANYServer"

"ObjectName"="LocalSystem"

"Description"="Embedded database used by Symantec Endpoint Protection Manager."

"FailureActions"=hex:80,51,01,00,00,00,00,00,00,00,00,00,03,00,00,00,53,00,65,\

00,01,00,00,00,10,27,00,00,01,00,00,00,10,27,00,00,01,00,00,00,10,27,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\Parameters]

"arameters"="-c 64m -ch 64m -gp 8192 -gc 30 -gr 30 -o \"C:\\Program Files\\Symantec\\

Symantec Endpoint Protection Manager\\db\\out.log\" -oe \"C:\\Program Files\\Symantec\\

Symantec Endpoint Protection Manager\\db\\err.log\" -os 1m -gn 80 -n SPC_jl-w2k3-en3 \

"C:\\Program Files\\Symantec\\Symantec Endpoint Protection Manager\\db\\sem5.db\

" -n sem5 -sb 0 -x tcpip(localonly=yesport=263"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\Security]

"Security"=hex:01,00,14,80,b8,00,00,00,c4,00,00,00,14,00,00,00,30,00,00,00,02,\

00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\

00,00,02,00,88,00,06,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\

05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\

20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,00,\

00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00,00,14,00,00,01,\

00,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,fd,01,02,00,01,02,00,\

00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,\

01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\Enum]

"0"="Root\\LEGACY_ASANYS_SEM5\\0000"

"Count"=dword:00000001

"NextInstance"=dword:00000001


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/202386.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存