如何使用J-Flash ARM烧录LPC1114

如何使用J-Flash ARM烧录LPC1114,第1张

我们平时的程序都是烧写到STM32的内部FLASH里的,所以可以通过串口或JLINK直接下载就可以了。

而ST官方DEMO的资源文件,和uclinux的image文件都是烧写到外部NOR FLASH的,

除了可以用DFU方式下载dfu文件之外,还可以用JLINK烧写bin文件和hex等文件,而且JLINK烧写NOR的速度比DFU快很多。

这里我们来介绍一下,是怎么通过JLINK烧写字库到NOR FLASH里的:

1、首先打开SEGGER-> JLink ARM Vxxx -> J-Flash ARM

2、然后点File -> open project,

在d出的选择框中选择工程文件:C:\Program Files\SEGGER\JLinkARM_V424\Samples\JFlash\ProjectFiles\STM32F103ZE_ST_MB672_CFI_1x16jflash

3、然后点File -> open data file 打开要烧写的文件,这里以字库HZK16bin为例

4、然后会d出一个地址设置框,这里我们填写NOR FLASH的起始地址64000000

5、设置好上面的步骤后,下面点Target -> connect连接设备

连接成功后,在下面的LOG框中看到Connected successfully的信息

6、最后就可以点Target -> program & valify烧写了

等待烧写完成,文件就成功烧写到外部NOR FLASH了

如果要烧写多个文件,步骤3、完成后,接着加一个步骤File -> Merge data file。后面步骤一样。

如果我们烧写的两个文件,会擦除FLASH的同一个块,那就要用Merge data file,不然后面烧的就会把前面烧的擦除了。

arm-linux-gcc编译出来的其实就是在linux下可以执行的程序,只不过运行这个linux的CPU需要是ARM的。所以,只要把这个文件传到已可运行linux的目标板上就行(可通过ftp等手段),然后修改这个可执行文件的权限chmod +x 文件名,就可以运行了。

另外,要转换成烧写的bin文件是用另一个编译工具arm-elf-gcc,这个编译出来的不是可执行文件,而直接是程序的二进制形式。这才需要通过烧写flash的方式替换目标板的 *** 作系统,当然肯定不能是helloc这么简单的程序。

XEN 如何烧写到Arm,方法步骤如下:

1、确保在宿主工作环境(即可以看做是Dom0工作环境)中安装了parted和kpartx实用程序。Parted可以辅助分区;kpartx完成挂载分区,这个分区在虚拟机内定义。

2、启动要迁移的虚拟机,安装GRUB引导装载程序。默认情况下,Xen虚拟机内没有安装引导装载程序,因为该程序由Xen虚拟工作环境自身提供。因此需要在迁移之前确保该程序已经安装。

3、关闭Xen虚拟机,把整个虚拟机复制到一个镜像文件。开始之前需要确保系统有足够的磁盘空间,这里需要很多GB的空间;同时确保使用的是正确的流程。例如,Xen后端虚拟存储可以已经是一个镜像文件,但是也可以是使用设备安装的,如一个分区或者一个逻辑卷管理器(LVM:Logic Volume Manager)卷作为一个后端存储设备。例如,如果使用“/dev/images/xenvm1” LVM逻辑卷作为Xen后端存储设备的话,可以使用下面的这个命令写入镜像文件:

dd if=/dev/images/xevvm1 f=xenimg bs=1M

注意:如果在虚拟机内有复杂的分区,就需要为每一个分区创建一个镜像文件。该流程假定虚拟机内的一切信息都位于一个大根分区中。

4、为ARM虚拟机创建一个新镜像文件。该镜像文件应该和为要迁移的虚拟机所创建的镜像文件一样大小。在下面的例子中,我将会假定使用的是一个10GB的Xen镜像;在实际部署中注意把这个值调整为虚拟机实际占用的空间大小:

dd if=/dev/zero f=kvmimg bs=1M count=10240

5、在上述步骤所创建的ARM镜像文件中创建分区。创建分区的唯一方法就是使用parted命令行实用程序。下面这几个步骤将会创建一个9GB的根分区和一个1GB的交换分区。需要在根特权下才可以执行这几个命令:

parted kvmimg mklabel msdos

parted kvmimg mkpart primary ext2 0 9000

parted kvmimg mkpart primary linux-swap 9000 10000

parted kvmimg set 1 boot on

6、把Xen镜像文件拷贝到ARM镜像文件中。以根权限执行下述命令:

following commands:

modprobe dm-mod

losetup /dev/loop kvmimg

kpartx -a /dev/loop0

dd if=xenimg f=/dev/mapper/loop0p1 bs=1M

fsck。ext3 -f /dev/mapper/loop0p1

到此为止,就已经把原来镜像中的所有文件拷贝到了新镜像中。接下来需要进行测试,使用下面的这个命令:

qemu kvmimg

arm芯片光种类就有很多种核心的,更不用说同一种核心每个公司生产的芯片也都不一样了。学习的比较多的就是基于arm7、arm9、arm11核心的芯片以及现在新出来的cortex-m3核心的stm32了。这其中只有stm32可以用串口下载程序,其他的一般都用jtag来下载。所谓jtag就是将arm芯片的一些引脚引出到一个jtag接口,然后用一个工具一端接jtag接口、一端接到电脑来烧写以及调试程序,这个工具可以是接电脑并口的jtag小板(价格十几块钱),也可以是接电脑usb接口的jlink(价格七八十)。

开发arm的话,在功能方面是可以当做单片机那样跑些流水灯、数码管之类的,刚开始学习arm也是要这样用以便入门的,但学到后面主要还是完成一些更复杂的功能,以及跑 *** 作系统。而且也不像单片机那么方便,arm都是贴片的,不能像单片机那样在编程器上下好了程序,再取下来安装在自己用万用板焊的电路上。不过也可以用个arm的最小系统板,最小系统板上都有jtag接口,可以下好程序再用自己焊的模块拓展。像stm32、arm7的最小系统也不是很贵只要几十块,而arm9、arm11的最小系统就要大几百了。但这也只是学生用来学习、参加电子竞赛、做毕业设计之类的才用最小系统开发。正规的在公司里开发的话都是用开发板然后是自己设计电路、画pcb、拿去工厂制板然后再焊接、调试。这其中花费的资金不是一般个人能承受的起的。

综上所述,你想用arm开发一个MP3或小东西的话,可以买个stm32或者arm7的最小板,自己焊或者买个MP3模块来弄,这也就要花个一百来块钱,但是你只会51单片机,arm完全不了解,多半会失败。所以你还是老老实实买个开发板来学习吧。推荐你买stm32的开发板,价格便宜,最便宜的只要100多,程序可以用串口下载,而且stm32更接近单片机,与arm7、arm9、arm11相比更加容易一些。arm7也不错,开发板只要两三百块。至于arm9、arm11的开发板最便宜的也要500多了。

小伙子不错啊,高中就开始玩单片机了,前途无量啊,以后上网多了解下这方面的信息,你问的问题网上多搜搜、多逛下论坛,很容易就可以找到答案的。

产品化时候一定是烧录到FLASH。

调试时可以把程序载入SDRAM执行,对于SDRAM一般不叫烧录;SDRAM掉电或者控制电路罢工,里面的程序全没了,而且不工作也挺耗电。

还有一种产品比较特殊,怕被人破解,会把程序下载到SRAM中(不是DRAM),平时SRAM就靠一小片电池保持数据(只给SRAM供电),破解时一掉电程序就蒸发了。

以上就是关于如何使用J-Flash ARM烧录LPC1114全部的内容,包括:如何使用J-Flash ARM烧录LPC1114、arm-linux-gcc -o hello hello.c 后生成的文件,怎么烧写到ARM9开发板中、XEN 如何烧写到Arm等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9284188.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存