ld文件怎么打开啊?

ld文件怎么打开啊?,第1张

ld2文件是二进制文件,和读取txt、dat文件有区别灶启,

我没有用过vb,但是可以给你说一下用C语言读取文件的细节,希望对你有所帮助。

首先,你提到的txt,dat文件,这些是一般的文本文件,你可以用写字板之类的程序打开,但是ld2文件不能这样打开开,首先就是它有128个字节数据头,所以你得查查用vb怎么读取二进制文件。你先读取那128个字节,其中有很多信息,你可以看看给你的程序的public.h文件,有两个变量要注意,就是这个ld2文件的行数和列数,如果这两个数据读出来是400*300,表示这个ld2文件所表示的图像信息有400行,300列,这就有120000个数据点,其中每个数据占两个字节,所以你想读第一个通道的数据,就要从第129个字节开隐搭如始,一直读到128+240000个字节的地方,读取出来的数据全部除10,即是真实数据。读取第二个通道的数据从129+240000字节开始一直到128+240000+240000字节处,整个ld2文件中有多少通道,可以在128字节的数据头中读出来。

C的写法:

1.

int fp=open(file_path,mode...)

2.

read(fp,buffer,buffer_size)//这里先读取128字节,所以buffer长度也是128字节

3.

从数据头中取得相应的信息,比如卫星号,时间,数据大小,通道数等等

4.

read(fp,data_buffer,data_buffer_size)//这里正式开始读取数据信息,data_buffer大小要根据前面所说来的换算

5.

读取完毕以后你就可以保存成你想要的格式,比枝弯如dat、txt等等。

6.

close(fp)//关闭文件

环境:

ubuntu 13.10

stm32f103zet6

一、STM 32 GCC 安装

stm32 属于arm cortex-m系列thumb指令集,所以给arm用的arm-none-eabi就可以了,首先是下载

下载地址:

https://launchpad.net/gcc-arm-embedded/+download

下载其中的gcc-arm-none-eabi-version-linux.tar.bz2

解压到目录会产肢茄生gcc-arm-none-eabi的文件夹

把该编译器添加到用户的环境中:

在最后一行添誉侍加:

因为之前有添加过树莓派的编译器了,所以实际上是这样的:

两个编译器环境中间用冒号隔开

注销后测试:

可以查看到该编译器的版本,就表示可以了。

二、工程环境的建立

新建个工程文件夹及其目录

下载安装官方库:

1、stm32的寄存器不像51 avr等单片机那么少,自己写写库,背背寄存器就可以了,所以ST公司提供了官方的库。为了避免重复造轮子,就庆饥吵直接采用其库,库版本为STM32_USB-FS-Device_Lib_V4.0.0,这个库多了usb支持,下载的话到st官网搜索stm32f10x就有了。

2、解压把解压好的文件夹复制到刚才新建的libs里面.

3、在工程根目录下新建Makefile.common文件,这个为通用makefile。

编译库文件:

进入libs文件夹,新建Makefile:

编译该库:

就会在lib目录下生成libstm32.a,这个就是编译好的静态库了。

建立工程编译ld文件

这个ld文件,为在编译时告诉编译器把代码放到什么地址,根据芯片的内存以及flash容量不同有所调整。

在工程根目录下新建linker.ld文件

根据芯片型号不同,选择相应的RAM FLASH大小。

在工程根目录下新建Makefile文件:

在src里面添加测试源码,主要是startup.c 以及main.c。

然后进入工程主目录下make就好了。

设置如下,打开Eclipse安装目录下的configuration文件夹,悔孙乱删除当中的所有目凯伏录,只保留config.ini文件和碧档org.eclipse.equinox.simpleconfigurator目录(如果你的Eclipse有这个目录的话),重启Eclipse


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

原文地址: http://outofmemory.cn/tougao/12240066.html

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

发表评论

登录后才能评论

评论列表(0条)

保存