DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 7193|回复: 13
打印 上一主题 下一主题

[原创] 如果ProgIsp3.0添加自定义芯片之算法编写及转换

[复制链接]
跳转到指定楼层
楼主
发表于 2022-8-11 17:40:52 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
定义 设备

struct FlashDevice const FlashDevice  =  {
   FLASH_DRV_VERS,             // Driver Version, do not modify!
   "New Device 256kB Flash",   // Device Name
   ONCHIP,                     // Device Type
   0x00000000,                 // Device Start Address
   0x00040000,                 // Device Size in Bytes (256kB)
   1024,                       // Programming Page Size
   0,                          // Reserved, must be 0
   0xFF,                       // Initial Content of Erased Memory
   100,                        // Program Page Timeout 100 mSec
   3000,                       // Erase Sector Timeout 3000 mSec
// Specify Size and Address of Sectors
   0x002000, 0x000000,         // Sector Size  8kB (8 Sectors)
   0x010000, 0x010000,         // Sector Size 64kB (2 Sectors)
   0x002000, 0x030000,         // Sector Size  8kB (8 Sectors)
   SECTOR_END
};

根据芯片手册  编写对应代码

/*
*  Initialize Flash Programming Functions
*    Parameter:      adr:  Device Base Address
*                    clk:  Clock Frequency (Hz)
*                    fnc:  Function Code (1 - Erase, 2 - Program, 3 - Verify)
*    Return Value:   0 - OK,  1 - Failed
*/
int Init (unsigned long adr, unsigned long clk, unsigned long fnc) {
  /* Add your Code */
  return (0);                                  // Finished without Errors
}

/*
*  De-Initialize Flash Programming Functions
*    Parameter:      fnc:  Function Code (1 - Erase, 2 - Program, 3 - Verify)
*    Return Value:   0 - OK,  1 - Failed
*/
int UnInit (unsigned long fnc) {
  /* Add your Code */
  return (0);                                  // Finished without Errors
}

/*
*  Erase complete Flash Memory
*    Return Value:   0 - OK,  1 - Failed
*/
int EraseChip (void) {
  /* Add your Code */
  return (0);                                  // Finished without Errors
}

/*
*  Erase Sector in Flash Memory
*    Parameter:      adr:  Sector Address
*    Return Value:   0 - OK,  1 - Failed
*/
int EraseSector (unsigned long adr) {
  /* Add your Code */
  return (0);                                  // Finished without Errors
}

/*
*  Program Page in Flash Memory
*    Parameter:      adr:  Page Start Address
*                    sz:   Page Size
*                    buf:  Page Data
*    Return Value:   0 - OK,  1 - Failed
*/
int ProgramPage (unsigned long adr, unsigned long sz, unsigned char *buf) {
  /* Add your Code */
  return (0);                                  // Finished without Errors
}


工程模板
_Template_Flash.rar (30.12 KB, 下载次数: 4)

评分

参与人数 1银子 +21 收起 理由
liyf + 21 很给力!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏2 分享分享 支持支持 反对反对
14#
发表于 2023-6-10 13:08:02 | 只看该作者
功能太强大了,完全可以作为mcu的通用编程器。
13#
发表于 2023-4-4 02:09:01 | 只看该作者
48个引脚岂不要48个继电器,设计就太失败了。
12#
发表于 2023-4-4 02:07:35 | 只看该作者
希尔特的这个不对吧,VCP用的是继电器控制,
11#
发表于 2023-4-4 02:00:39 | 只看该作者

恭喜,付出总算有收获
上点成品图解馋
10#
发表于 2023-4-4 01:58:19 | 只看该作者

闲着无聊,这几天也做一个玩玩
9#
发表于 2023-4-4 01:53:40 | 只看该作者
下载看看监控程序。下载了。有时间做一套试试。
8#
发表于 2023-4-2 11:01:48 | 只看该作者

感谢楼主分享,回头试一试!
7#
发表于 2023-4-1 20:16:35 | 只看该作者
谢谢分享!对设计编程器有帮助。
6#
发表于 2023-2-6 23:20:25 | 只看该作者

谢谢了,先看看再说!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-11 02:28 , 耗时 0.116374 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表