“Jz2440LearningFAQ”的版本间的差异

来自百问网嵌入式Linux wiki
(优化版本,添加专题答疑内容)
第51行: 第51行:
  
 
==xp 系统播放视频有声音无图像==
 
==xp 系统播放视频有声音无图像==
: 关闭硬件加速 具体步骤:桌面空白处点右键,“属性”=>“设置”=>“高级”=>“疑难问题”=>把“硬件加速”的滑动块拉到最左边
+
: 关闭硬件加速 具体步骤:桌面空白处点右键,“属性”->“设置”->“高级”->“疑难问题”->把“硬件加速”的滑动块拉到最左边
  
==播放器异常停止(一般是win7,win10)==
+
==播放器异常停止(一般是 win7 , win10)==
 
: 点击:
 
: 点击:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
第61行: 第61行:
  
 
==手机/平板如何观看加密视频?==
 
==手机/平板如何观看加密视频?==
# 下载"海海软件 HUPlayer For Android 或 iOS "播放器。下载路径: www.drm-x.com -> 免费下载-下载海海软件HUPlayer,选择相应的手机播放器
+
# 下载"海海软件 HUPlayer For Android 或 iOS "播放器。下载路径: www.drm-x.com -> 免费下载-下载海海软件 HUPlayer ,选择相应的手机播放器
 
# 把视频导入到手机,使用播放器打开视频输入用户名和密码
 
# 把视频导入到手机,使用播放器打开视频输入用户名和密码
 
# 如果弹出"本账号只绑定一台电脑观看",则联系 weidongshan@qq.com 解绑附上你的视频用户名
 
# 如果弹出"本账号只绑定一台电脑观看",则联系 weidongshan@qq.com 解绑附上你的视频用户名
第67行: 第67行:
  
 
=专题答疑=
 
=专题答疑=
==NANDFLASH疑问==
+
==NANDFLASH 疑问==
===NAND坏块疑问===
+
===NAND 坏块疑问===
 
: '''{{redtext|提问:}}'''
 
: '''{{redtext|提问:}}'''
:: 1.nand的坏块是不是出厂的时候很难避免,厂家在出厂的时候标记好后,在nand中读写数据会自动避开坏块,如果擦除坏块标记,可能会带来数据完整性的问题吗?
+
:: 1.nand 的坏块是不是出厂的时候很难避免,厂家在出厂的时候标记好后,在 nand 中读写数据会自动避开坏块,如果擦除坏块标记,可能会带来数据完整性的问题吗?
 
:: 2.这样做出来产品会不会带来稳定性问题?
 
:: 2.这样做出来产品会不会带来稳定性问题?
 
:: 3.如果一旦擦除坏块的标记,能恢复吗?怎么恢复?
 
:: 3.如果一旦擦除坏块的标记,能恢复吗?怎么恢复?
 
: 解答:
 
: 解答:
 
:: 1.出厂时,对于坏块会标记,我们使用过程中如果发现坏了也要自己标记
 
:: 1.出厂时,对于坏块会标记,我们使用过程中如果发现坏了也要自己标记
:: 2.没有“自动避开”,驱动程序中要擦除、读、写前,先判断该BLOCK是否正常,如果是“坏的”,那就避开
+
:: 2.没有“自动避开”,驱动程序中要擦除、读、写前,先判断该 BLOCK 是否正常,如果是“坏的”,那就避开
:: 3.NAND FLASH一般用来保存视频等海量数据,就是因为它不可靠,不能用来保存程序等关键性数据,这些关键数据用NOR FLASH来保存但是对于廉价电子产品、消费电子产品,一般直接使用NAND:一是现在的工艺已经挺可靠,出现坏块的可能性降低;二是消费类电子产品,坏就坏了,坏了就修
+
:: 3.NAND FLASH 一般用来保存视频等海量数据,就是因为它不可靠,不能用来保存程序等关键性数据,这些关键数据用 NOR FLASH 来保存但是对于廉价电子产品、消费电子产品,一般直接使用 NAND :一是现在的工艺已经挺可靠,出现坏块的可能性降低;二是消费类电子产品,坏就坏了,坏了就修
:: 4.一旦擦除坏块标记,能恢复吗?这问题我没找到相关资料,根据经常,坏块是无法擦除的。即:坏块的标记是无法简单擦除的;UBOOT里有一个nand scrub命令,它就是强制擦除整个芯片的;但是执行 nand scrub后再执行nand bad还是可以查出原先的坏块
+
:: 4.一旦擦除坏块标记,能恢复吗?这问题我没找到相关资料,根据经常,坏块是无法擦除的。即:坏块的标记是无法简单擦除的; UBOOT 里有一个 nand scrub 命令,它就是强制擦除整个芯片的;但是执行 nand scrub 后再执行 nand bad 还是可以查出原先的坏块
  
===NAND FLASH初始化?===
+
===NAND FLASH 初始化?===
 
: '''{{redtext|提问:}}'''
 
: '''{{redtext|提问:}}'''
:: 如果使用NAND方式启动开发板,在教程中韦老师说硬件会把Nand的4K内容拷贝到SRAM里,但是这个时候Nand都没有初始化,为什么能从Nand的前4K拷贝内容?
+
:: 如果使用 NAND 方式启动开发板,在教程中韦老师说硬件会把 Nand 的 4K 内容拷贝到 SRAM 里,但是这个时候 Nand 都没有初始化,为什么能从 Nand 的前 4K 拷贝内容?
 
: 解答:
 
: 解答:
:: 1.nand不需要初始化,要初始化的是nand 控制器
+
:: 1.nand 不需要初始化,要初始化的是 nand 控制器
:: 2.SROM的程序(我们看不见),会使用最安全的参数来初始化nand控制器,然后去读前4K到片内内存
+
:: 2.SROM 的程序(我们看不见),会使用最安全的参数来初始化 nand 控制器,然后去读前 4K 到片内内存
 
: '''{{redtext|提问:}}'''
 
: '''{{redtext|提问:}}'''
:: 不同页大小的NAND的读操作是不一样的,SROM怎么分辨?
+
:: 不同页大小的 NAND 的读操作是不一样的,SROM 怎么分辨?
 
: 解答:
 
: 解答:
:: NAND不同时,电路板上要设置配置引脚为高电平或低电平,比如NCON引脚。
+
:: NAND 不同时,电路板上要设置配置引脚为高电平或低电平,比如 NCON 引脚。
  
==NANDFLASH疑问==
+
==NANDFLASH 疑问==
==NORFLASH初始化疑问==
+
==NORFLASH 初始化疑问==
 
: '''{{redtext|提问:}}'''
 
: '''{{redtext|提问:}}'''
:: 请问下裸机加强版 norflash的初始化在哪里啊?看视频好像直接就读写了
+
:: 请问下裸机加强版 norflash 的初始化在哪里啊?看视频好像直接就读写了
 
: 解答:
 
: 解答:
:: 1.访问NOR时,本来也应该先设置时序;但是可以使用默认的时序。内存控制器内部对于CS0的时序,设置得非常保守,可以用于一切NOR FLASH
+
:: 1.访问 NOR 时,本来也应该先设置时序;但是可以使用默认的时序。内存控制器内部对于 CS0 的时序,设置得非常保守,可以用于一切 NOR FLASH
:: 2.NOR可以像内存一样直接读,但是不能直接写
+
:: 2.NOR 可以像内存一样直接读,但是不能直接写
:: 3.视频中,有讲解怎么去设置NOR的时序让它的访问更快一点
+
:: 3.视频中,有讲解怎么去设置 NOR 的时序让它的访问更快一点
 
 
  
 
==内存控制器疑问==
 
==内存控制器疑问==
第104行: 第103行:
 
:: 老师 你好 之前你的课程有提到过内存控制器负责挑数据 那么怎么挑的呢?
 
:: 老师 你好 之前你的课程有提到过内存控制器负责挑数据 那么怎么挑的呢?
 
: 解答:
 
: 解答:
:: 比如 CPU想访问地址0x30000001的1字节数据,而SDRAM的位宽是32位,那么内存控制器会返回这4个地址上的4个字节数据:0x30000000,0x30000001,0x30000002,0x30000003。那显然,内存控制器会把第2个数据即地址0x30000001对应的数据返回给CPU
+
:: 比如 CPU 想访问地址 0x30000001 的 1 字节数据,而 SDRAM 的位宽是 32 位,那么内存控制器会返回这 4 个地址上的 4 个字节数据: 0x30000000,0x30000001,0x30000002,0x30000003 。那显然,内存控制器会把第 2 个数据即地址 0x30000001 对应的数据返回给 CPU 。
 
 
  
 
==编译器疑问==
 
==编译器疑问==
 
: '''{{redtext|提问:}}'''
 
: '''{{redtext|提问:}}'''
:: 1.arm交叉编译器各版本的兼容性,如使用3.4.5编译的动态链接库,可否用4.4编译应用程序,并成功调用动态库?
+
:: 1.arm 交叉编译器各版本的兼容性,如使用 3.4.5 编译的动态链接库,可否用 4.4 编译应用程序,并成功调用动态库?
:: 2.拿到一个陌生的arm版,如何从arm板上获取编译器版本,(原PC端开发信息丢失)?
+
:: 2.拿到一个陌生的 arm 版,如何从 arm 板上获取编译器版本,(原 PC 端开发信息丢失)?
 
: 解答:
 
: 解答:
 
:: 问题1:
 
:: 问题1:
 
::: 我们首先要弄清楚指令集的概念:
 
::: 我们首先要弄清楚指令集的概念:
:::: JZ2440使用arm9核,该CPU核使用的指令集是armv4;
+
:::: JZ2440 使用 arm9 核,该 CPU 核使用的指令集是 armv4;
:::: 所谓指令集,指的是汇编指令的版本;比如cortex a7等更先进的CPU核它支持某些新的指令,而ARM9不支持这些指令。
+
:::: 所谓指令集,指的是汇编指令的版本;比如 cortex a7 等更先进的 CPU 核它支持某些新的指令,而 ARM9 不支持这些指令。
:::: 你使用比较新的编译器时,它默认支持的指令集一般就不是armv4了;
+
:::: 你使用比较新的编译器时,它默认支持的指令集一般就不是 armv4 了;
:::: 如果不进行特别指定,编译出来的BIN文件烧在JZ2440上是无法运行的:因为CPU不认得某些新指令,无法执行某些新指令。
+
:::: 如果不进行特别指定,编译出来的 BIN 文件烧在 JZ2440 上是无法运行的:因为 CPU 不认得某些新指令,无法执行某些新指令。
 
:::: 一般来说,新的编译器会兼容老的芯片,但是需要告诉编译器,让它使用老的指令集来编译程序。
 
:::: 一般来说,新的编译器会兼容老的芯片,但是需要告诉编译器,让它使用老的指令集来编译程序。
:::: 所以,你当然可以使用4.4的工具链来编译jz2440程序,需要做的是:指定它,使用armv4指令集。
+
:::: 所以,你当然可以使用 4.4 的工具链来编译 jz2440 程序,需要做的是:指定它,使用 armv4 指令集。
 
::::: 方法如下:
 
::::: 方法如下:
:::::: 使用3.4.5工具链时,我们这样编译:arm-linux-gcc -c -o led.o led.c              // 默认使用armv4
+
:::::: 使用 3.4.5 工具链时,我们这样编译:arm-linux-gcc -c -o led.o led.c              // 默认使用 armv4
:::::: 使用4.4等工具链时,这样编译:arm-linux-gcc -march=armv4  -c -o led.o led.c    // 默认不是armv4,需要手工指定
+
:::::: 使用 4.4 等工具链时,这样编译:arm-linux-gcc -march=armv4  -c -o led.o led.c    // 默认不是 armv4 ,需要手工指定
 
:: 问题2:
 
:: 问题2:
 
::: 相信你已经知道答案了,
 
::: 相信你已经知道答案了,
::: 首先要确定你的CPU核使用哪些指令集,
+
::: 首先要确定你的 CPU 核使用哪些指令集,
 
::: 是否支持软件浮点,
 
::: 是否支持软件浮点,
::: 你想使用glibc还是uclibc,
+
::: 你想使用 glibc 还是 uclibc ,
 
::: 然后根据这些特性去找对应的编译器。
 
::: 然后根据这些特性去找对应的编译器。
::: 注意:uclibc是glibc的简化版本,不过现在嵌入式的存储空间足够大了,基本不使用uclibc了。
+
::: 注意: uclibc 是 glibc 的简化版本,不过现在嵌入式的存储空间足够大了,基本不使用 uclibc 了。
  
==EOP疑问==
+
==EOP 疑问==
===EPO测试方法===
+
===EPO 测试方法===
: 1. EOP通过USB线接到电脑上,EOP通过JTAG排线接到开发板上
+
: 1. EOP 通过 USB 线接到电脑上,EOP通过JTAG排线接到开发板上
 
: 2. 开发板上电、断电,反复操作;同时观察EOP上的灯,看看灯有没有亮、灭;
 
: 2. 开发板上电、断电,反复操作;同时观察EOP上的灯,看看灯有没有亮、灭;
:: 如果EOP的灯没变化,表示JTAG排线有问题
+
:: 如果 EOP 的灯没变化,表示 JTAG 排线有问题
: 3. 开发板上电,运行oflash,观察打印出来的CPUID
+
: 3. 开发板上电,运行 oflash ,观察打印出来的 CPUID
:: 如果CPUID是0,一般表示开发板没上电
+
:: 如果 CPUID 是0,一般表示开发板没上电
:: 如果CPUID是0xffffffff,那么把开发板上电时执行一次oflash、开发板断电时再执行一次oflash:观察CPUID有无变化
+
:: 如果 CPUID 是 0xffffffff ,那么把开发板上电时执行一次 oflash、开发板断电时再执行一次 oflash:观察 CPUID 有无变化
:4. 经过上述操作,oflash还是未能识别出开发板,一般来说就是JTAG线坏了、EOP坏了、开发板坏了
+
:4. 经过上述操作,oflash 还是未能识别出开发板,一般来说就是 JTAG 线坏了、EOP 坏了、开发板坏了
 +
 
 +
===EOP 支持调试模式吗?===
 +
: 解答:
 +
:: 不支持, 我们 EOP 用的是 JTAG 协议,但不支持 SWD 调试模式
 +
:: 参考,[https://blog.csdn.net/ningjianwen/article/details/53230116 JTAG 和 SWD 的区别]。
 +
 +
==加密视频播放器问题==
 +
===换系统或换电脑后还能看视频吗?===
 +
: 答:
 +
:: 可以,换设备、系统需要解绑用接收密码的邮箱发邮件到 weidongshan@qq.com
 +
:: 邮件格式如下:
 +
<syntaxhighlight lang="bash">
 +
    标题:视频用户名是xxx + 解绑
 +
</syntaxhighlight>
 +
:: 工作日 24 小时内,工作人员回复邮件后,便可以继续看视频。
 +
 
 +
===cmos 部分的视频很卡===
 +
: '''{{redtext|提问:}}'''
 +
:: 之前的视频很流畅,仅 cmos 部分的视频很卡
 +
 +
:: 换 [http://cn.haihaisoft.com/huplayer.aspx 这里] 的单显卡播放器 “海海软件 HUPlayer”。
 +
 
 +
===windows xp 系统播放视频有声音无图像===
 +
需要关闭硬件加速 具体步骤:
 +
<syntaxhighlight lang="bash">
 +
    桌面空白处点右键,“属性”->“设置”->“高级”->“疑难问题”->把“硬件加速”的滑动块拉到最左边
 +
</syntaxhighlight>
 +
 
 +
===windows XP 系统播放视频异常停止===
 +
从[http://wiki.100ask.org/Download 我们的Wiki] 获取下载双显卡播放器的链接,具体路径在:
 +
<syntaxhighlight lang="bash">
 +
    003_韦东山加密视频播放器_播放问题解决方法->韦东山加密视频播放器.rar
 +
</syntaxhighlight>
 +
 
 +
===播放器异常停止===
 +
: 这个问题一般出现在 windows 7、windows 10中
 +
: 解决方法在播放器中点击:
 +
<syntaxhighlight lang="bash">
 +
    huplayer菜单 -> 选项 -> Tweaks -> Delete All License in your PC
 +
</syntaxhighlight>
 +
: 然后发邮件找我们解绑后再登陆
 +
 
 +
===无法打开播放器===
 +
: '''{{redtext|提问:}}'''
 +
:: 无法打开播放器,弹出错误 “此程序无法显示网页” 。
 +
: 解答:
 +
:: 参考 [http://www.drm-x.net/cnxdrm-help/206-HUPlayer%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98.aspx 这里] 的第 3 点:三、设置 IE 浏览器代理服务器 设置 IE 代理服务器。
 +
 
 +
===MAC电脑播放视频不清晰===
 +
: 正常现象,因为视频文件分辨率不符合MAC, 请换到Windows观看。
  
===EOP支持调试模式吗?===
+
===时间久了加密视频播放不了===
 +
: '''{{redtext|提问:}}'''
 +
:: 我电脑没换系统和硬盘内存,为什么 2 个月后就不能看了?
 
: 解答:
 
: 解答:
:: 不支持, 我们EOP用的是JTAG协议,但不支持SWD调试模式
+
:: 可能是系统自动升级,或者下载安装了补丁(比如杀毒软件经常提示安装xxx补丁)都会导致验证码失效,进行解绑操作即可正常观看。
:: 参考,[https://blog.csdn.net/ningjianwen/article/details/53230116 JTAG和SWD的区别]
+
 
 +
===使用手机看视频?===
 +
: 1.下载 "海海软件 HUPlayer For Android 或 iOS" 播放器
 +
:: 下载地址:[www.drm-x.com www.drm-x.com]
 +
::: 免费下载->下载海海软件 HUPlayer,选择相应的手机播放器
 +
: 2.把视频导入到手机,使用播放器打开视频输入用户名和密码
 +
: 3.如果弹出"本账号只绑定一台电脑观看",则联系 weidongshan@qq.com 解绑附上你的视频用户名
 +
: 4.我们不能保证手机正常观看,因为播放器不太稳定,不过我们保证 Windows 能正常观看。
 +
 
 +
 
 +
==新1期视频与旧1期的区别==
 +
: 旧1期是 2010 年开始录,那时主要帮朋友推销开发板,没想要进入培训行业,
 +
: 2017 年 9 月重录第 1 期裸板视频,命名为新1期。
 +
: 为什么要重录?因为很多同学反馈说没有 Linux 操作经验、没有单片机基础很难看懂旧1期,
 +
: 因为录老视频时,本意是配合我写的《嵌入式LINUX应用开发完全手册》一起学习,并没有面向 0 基础的同学。
 +
: 新 1 期主要特点:
 +
:: 1.比旧1期详细80%,对旧 1 期的易错点,难点重点剖析,
 +
:: 2.适合人群:没有 LINUX 操作经验的、没有单片机基础的、没有硬件知识的,
 +
:: 3.只要求你会简单的 C 语言,计算机基础和数电基础;
 +
:: 4.所有代码现场编写、现场调试,绝对不会拿现成代码给你分析。
 +
:: 5.新开发环境,开发更便捷高效
 +
 
 +
==你们的售后方式是怎样的?==
 +
: 1.使用 [ http://wiki.100ask.org/Mainpage wiki 主页] 的资料可解决用户在学习过程中的大部分问题。
 +
: 2.使用 [http://bbs.100ask.org/forum.php 论坛] 答疑:论坛成立10多年以来,沉淀了很多有价值的问答。论坛地址:
 +
: 3.依然解决不了你的问题可以发帖,请按照 [http://bbs.100ask.org/forum.php?mod=viewthread&tid=10914&extra= 发帖指南] 进行提问。帖子越详细,被翻牌解决的概率越大。
 +
: 4.加入微信/QQ 交流群,必要时可得到一对一的指导。

2019年12月6日 (五) 11:52的版本

FAQ

Ubuntu的登录用户名和密码

我们提供的所有的Ubuntu的用户名和密码统一如下:
    用户名: book
    密码:   123456

为什么 Ubuntu 不能在 windows 通过 SSH 远程登录?

  1. 首先得让 ubuntu 与 window 之间互相 PING 通
  2. ubuntu 开启了 SSH 服务,使用我们的 ubuntu 9.10、ubuntu 16.04 都已开启 SSH

Ubuntu 16.04 登录密码是什么?

您好,只要是韦东山提供的 Ubuntu 系统,不管是 Ubuntu 9.10 或是 Ubuntu 16.04
它们用户名和密码都是: book ;123456
没有设置 root 密码,需要你通过命令 sudo passwd root 进行设置。

JZ2440 开发板触摸不灵敏

先尝试给 jz2440 开发板校准:打开开发板串口,系统启动后输入命令:
    $ rm /etc/pointercal
重启开发板,依次点击 LCD 出现的 5 个「十字架」。如果问题依旧,多半是硬件问题。请联系客服解决。

如何对 JZ2440 进行格式化?

进入 uboot 界面, 输入 nand scrub 回车,然后输入 y 回车

摄像头不显示图像

不要用 xawtv ,跳过这节视频的实验,只看视频了解调用过程即可
我以前使用 xawtv 的目的是想让学员快速看到效果,后来发现 xawtv 不稳定、挑机器,反而浪费学员时间
后续章节的内容,完全覆盖 xawtv 的内容

视频播放

之前的视频很流畅,仅 cmos 部分的视频很卡
http://cn.haihaisoft.com/huplayer.aspx 里的单显卡播放器 “海海软件HUPlayer”

xp 系统播放视频有声音无图像

关闭硬件加速 具体步骤:桌面空白处点右键,“属性”->“设置”->“高级”->“疑难问题”->把“硬件加速”的滑动块拉到最左边

播放器异常停止(一般是 win7 , win10)

点击:
    huplayer菜单 -> 选项 -> Tweaks -> Delete All License in your PC
然后发邮件找我们解绑后再登陆

手机/平板如何观看加密视频?

  1. 下载"海海软件 HUPlayer For Android 或 iOS "播放器。下载路径: www.drm-x.com -> 免费下载-下载海海软件 HUPlayer ,选择相应的手机播放器
  2. 把视频导入到手机,使用播放器打开视频输入用户名和密码
  3. 如果弹出"本账号只绑定一台电脑观看",则联系 weidongshan@qq.com 解绑附上你的视频用户名
  4. 我们不能保证手机正常观看,因为播放器不太稳定,不过我们保证 Windows 能正常观看。

专题答疑

NANDFLASH 疑问

NAND 坏块疑问

提问:
1.nand 的坏块是不是出厂的时候很难避免,厂家在出厂的时候标记好后,在 nand 中读写数据会自动避开坏块,如果擦除坏块标记,可能会带来数据完整性的问题吗?
2.这样做出来产品会不会带来稳定性问题?
3.如果一旦擦除坏块的标记,能恢复吗?怎么恢复?
解答:
1.出厂时,对于坏块会标记,我们使用过程中如果发现坏了也要自己标记
2.没有“自动避开”,驱动程序中要擦除、读、写前,先判断该 BLOCK 是否正常,如果是“坏的”,那就避开
3.NAND FLASH 一般用来保存视频等海量数据,就是因为它不可靠,不能用来保存程序等关键性数据,这些关键数据用 NOR FLASH 来保存但是对于廉价电子产品、消费电子产品,一般直接使用 NAND :一是现在的工艺已经挺可靠,出现坏块的可能性降低;二是消费类电子产品,坏就坏了,坏了就修
4.一旦擦除坏块标记,能恢复吗?这问题我没找到相关资料,根据经常,坏块是无法擦除的。即:坏块的标记是无法简单擦除的; UBOOT 里有一个 nand scrub 命令,它就是强制擦除整个芯片的;但是执行 nand scrub 后再执行 nand bad 还是可以查出原先的坏块

NAND FLASH 初始化?

提问:
如果使用 NAND 方式启动开发板,在教程中韦老师说硬件会把 Nand 的 4K 内容拷贝到 SRAM 里,但是这个时候 Nand 都没有初始化,为什么能从 Nand 的前 4K 拷贝内容?
解答:
1.nand 不需要初始化,要初始化的是 nand 控制器
2.SROM 的程序(我们看不见),会使用最安全的参数来初始化 nand 控制器,然后去读前 4K 到片内内存
提问:
不同页大小的 NAND 的读操作是不一样的,SROM 怎么分辨?
解答:
NAND 不同时,电路板上要设置配置引脚为高电平或低电平,比如 NCON 引脚。

NANDFLASH 疑问

NORFLASH 初始化疑问

提问:
请问下裸机加强版 norflash 的初始化在哪里啊?看视频好像直接就读写了
解答:
1.访问 NOR 时,本来也应该先设置时序;但是可以使用默认的时序。内存控制器内部对于 CS0 的时序,设置得非常保守,可以用于一切 NOR FLASH
2.NOR 可以像内存一样直接读,但是不能直接写
3.视频中,有讲解怎么去设置 NOR 的时序让它的访问更快一点

内存控制器疑问

提问:
老师 你好 之前你的课程有提到过内存控制器负责挑数据 那么怎么挑的呢?
解答:
比如 CPU 想访问地址 0x30000001 的 1 字节数据,而 SDRAM 的位宽是 32 位,那么内存控制器会返回这 4 个地址上的 4 个字节数据: 0x30000000,0x30000001,0x30000002,0x30000003 。那显然,内存控制器会把第 2 个数据即地址 0x30000001 对应的数据返回给 CPU 。

编译器疑问

提问:
1.arm 交叉编译器各版本的兼容性,如使用 3.4.5 编译的动态链接库,可否用 4.4 编译应用程序,并成功调用动态库?
2.拿到一个陌生的 arm 版,如何从 arm 板上获取编译器版本,(原 PC 端开发信息丢失)?
解答:
问题1:
我们首先要弄清楚指令集的概念:
JZ2440 使用 arm9 核,该 CPU 核使用的指令集是 armv4;
所谓指令集,指的是汇编指令的版本;比如 cortex a7 等更先进的 CPU 核它支持某些新的指令,而 ARM9 不支持这些指令。
你使用比较新的编译器时,它默认支持的指令集一般就不是 armv4 了;
如果不进行特别指定,编译出来的 BIN 文件烧在 JZ2440 上是无法运行的:因为 CPU 不认得某些新指令,无法执行某些新指令。
一般来说,新的编译器会兼容老的芯片,但是需要告诉编译器,让它使用老的指令集来编译程序。
所以,你当然可以使用 4.4 的工具链来编译 jz2440 程序,需要做的是:指定它,使用 armv4 指令集。
方法如下:
使用 3.4.5 工具链时,我们这样编译:arm-linux-gcc -c -o led.o led.c // 默认使用 armv4
使用 4.4 等工具链时,这样编译:arm-linux-gcc -march=armv4 -c -o led.o led.c // 默认不是 armv4 ,需要手工指定
问题2:
相信你已经知道答案了,
首先要确定你的 CPU 核使用哪些指令集,
是否支持软件浮点,
你想使用 glibc 还是 uclibc ,
然后根据这些特性去找对应的编译器。
注意: uclibc 是 glibc 的简化版本,不过现在嵌入式的存储空间足够大了,基本不使用 uclibc 了。

EOP 疑问

EPO 测试方法

1. EOP 通过 USB 线接到电脑上,EOP通过JTAG排线接到开发板上
2. 开发板上电、断电,反复操作;同时观察EOP上的灯,看看灯有没有亮、灭;
如果 EOP 的灯没变化,表示 JTAG 排线有问题
3. 开发板上电,运行 oflash ,观察打印出来的 CPUID
如果 CPUID 是0,一般表示开发板没上电
如果 CPUID 是 0xffffffff ,那么把开发板上电时执行一次 oflash、开发板断电时再执行一次 oflash:观察 CPUID 有无变化
4. 经过上述操作,oflash 还是未能识别出开发板,一般来说就是 JTAG 线坏了、EOP 坏了、开发板坏了

EOP 支持调试模式吗?

解答:
不支持, 我们 EOP 用的是 JTAG 协议,但不支持 SWD 调试模式
参考,JTAG 和 SWD 的区别

加密视频播放器问题

换系统或换电脑后还能看视频吗?

答:
可以,换设备、系统需要解绑用接收密码的邮箱发邮件到 weidongshan@qq.com
邮件格式如下:
    标题:视频用户名是xxx + 解绑
工作日 24 小时内,工作人员回复邮件后,便可以继续看视频。

cmos 部分的视频很卡

提问:
之前的视频很流畅,仅 cmos 部分的视频很卡

这里 的单显卡播放器 “海海软件 HUPlayer”。

windows xp 系统播放视频有声音无图像

需要关闭硬件加速 具体步骤:

    桌面空白处点右键,“属性”->“设置”->“高级”->“疑难问题”->把“硬件加速”的滑动块拉到最左边

windows XP 系统播放视频异常停止

我们的Wiki 获取下载双显卡播放器的链接,具体路径在:

    003_韦东山加密视频播放器_播放问题解决方法->韦东山加密视频播放器.rar

播放器异常停止

这个问题一般出现在 windows 7、windows 10中
解决方法在播放器中点击:
    huplayer菜单 -> 选项 -> Tweaks -> Delete All License in your PC
然后发邮件找我们解绑后再登陆

无法打开播放器

提问:
无法打开播放器,弹出错误 “此程序无法显示网页” 。
解答:
参考 这里 的第 3 点:三、设置 IE 浏览器代理服务器 设置 IE 代理服务器。

MAC电脑播放视频不清晰

正常现象,因为视频文件分辨率不符合MAC, 请换到Windows观看。

时间久了加密视频播放不了

提问:
我电脑没换系统和硬盘内存,为什么 2 个月后就不能看了?
解答:
可能是系统自动升级,或者下载安装了补丁(比如杀毒软件经常提示安装xxx补丁)都会导致验证码失效,进行解绑操作即可正常观看。

使用手机看视频?

1.下载 "海海软件 HUPlayer For Android 或 iOS" 播放器
下载地址:[www.drm-x.com www.drm-x.com]
免费下载->下载海海软件 HUPlayer,选择相应的手机播放器
2.把视频导入到手机,使用播放器打开视频输入用户名和密码
3.如果弹出"本账号只绑定一台电脑观看",则联系 weidongshan@qq.com 解绑附上你的视频用户名
4.我们不能保证手机正常观看,因为播放器不太稳定,不过我们保证 Windows 能正常观看。


新1期视频与旧1期的区别

旧1期是 2010 年开始录,那时主要帮朋友推销开发板,没想要进入培训行业,
2017 年 9 月重录第 1 期裸板视频,命名为新1期。
为什么要重录?因为很多同学反馈说没有 Linux 操作经验、没有单片机基础很难看懂旧1期,
因为录老视频时,本意是配合我写的《嵌入式LINUX应用开发完全手册》一起学习,并没有面向 0 基础的同学。
新 1 期主要特点:
1.比旧1期详细80%,对旧 1 期的易错点,难点重点剖析,
2.适合人群:没有 LINUX 操作经验的、没有单片机基础的、没有硬件知识的,
3.只要求你会简单的 C 语言,计算机基础和数电基础;
4.所有代码现场编写、现场调试,绝对不会拿现成代码给你分析。
5.新开发环境,开发更便捷高效

你们的售后方式是怎样的?

1.使用 [ http://wiki.100ask.org/Mainpage wiki 主页] 的资料可解决用户在学习过程中的大部分问题。
2.使用 论坛 答疑:论坛成立10多年以来,沉淀了很多有价值的问答。论坛地址:
3.依然解决不了你的问题可以发帖,请按照 发帖指南 进行提问。帖子越详细,被翻牌解决的概率越大。
4.加入微信/QQ 交流群,必要时可得到一对一的指导。