如何将一组数据指定地址并编译成一个单独的hex或bin文件

[复制链接]
1364|2
 楼主| wozaihuayu 发表于 2018-2-6 08:46 | 显示全部楼层 |阅读模式
本帖最后由 wozaihuayu 于 2018-2-6 08:47 编辑

我用的新唐的单片机,新唐ICP下载工具中有能下载数据hex文件到FLASH的方法,但是怎么生成这个文件,我却不知道

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
yjgna 发表于 2018-2-6 11:15 | 显示全部楼层
只要会C语言就能生成,楼主用的是新唐的,DATA FLASH 是要在CONFIG寄存器中定义起始地址的,也就是分配大小。

下面给个简单生成一个全1的2KB BIN文件

#include <stdio.h>
#define BUFF_SIZE       2048

int main(void)
{
    int i=0;
    int ret;
    unsigned char data[BUFF_SIZE];
    FILE *fp = NULL;

    for(i=0; i<BUFF_SIZE; i++)
    {
        data[i]  =0xFF;
    }

    fp = fopen("./dataflash.bin", "wb");
    if(NULL == fp)
    {
        printf("Error: Fail to Open");
    }
    else
    {
        ret = fwrite(data, 1, BUFF_SIZE, fp);
        fclose(fp);
    }

    return 0;
}



 楼主| wozaihuayu 发表于 2018-2-11 08:30 | 显示全部楼层
yjgna 发表于 2018-2-6 11:15
只要会C语言就能生成,楼主用的是新唐的,DATA FLASH 是要在CONFIG寄存器中定义起始地址的,也就是分配大小 ...

好方法,只是还需做个上位机软件,如果直接用KEIL或IAR能生成就更好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

267

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部