首页 > 其他分享 >ch32F208/ch32v208/ch32v203 wch sdk工程配置相关说明

ch32F208/ch32v208/ch32v203 wch sdk工程配置相关说明

时间:2022-12-30 10:47:44浏览次数:70  
标签:文件 ch32F208 RAM 芯片 FLASH CH32V20x LD ch32v208 wch

说明

  • wch 官网的ch32v2系列的芯片只给了一个SDK :https://www.wch.cn/downloads/CH32V20xEVT_ZIP.html
  • ch32v2系列芯片型号众多,存储大小,和外设各不相同,wch给的例程工程往往只针对某个芯片,如果要针对我们手里的芯片,需要进行相关的修改
  • 由于该SDK对应的工程是基于MRS IDE(http://www.mounriver.com/)的,下面我们就针对如何在MRS IDE上进行相关修改以适配我们手里的芯片
  • 对于ch32f20x 系列,官网的sdk是使用MDK的,修改的地方基本一致, 亦可参照本文章进行相关的修改,本文不再做额外详细说明.

适用芯片

  • ch32v2xx

修改

加入芯片系列全局宏

在sdk路径"EXAM\SRC\Peripheral\inc\ch32v20x.h"文件中,有如下定义

#if !defined(CH32V20x_D8W) && !defined(CH32V20x_D8) && !defined(CH32V20x_D6)
#define CH32V20x_D6              /* CH32V203F6-CH32V203F8-CH32V203G6-CH32V203G8-CH32V203K6-CH32V203K8-CH32V203C6-CH32V203C8 */
//#define CH32V20x_D8              /* CH32V203RBT6 */
//#define CH32V20x_D8W             /* CH32V208 */

#endif

这里我们可以看出,ch32v2芯片分为三个大系列,分别对应三个宏,后面注释分别说明了该宏对应的芯片

  • CH32V20x_D6
  • CH32V20x_D8
  • CH32V20x_D8W

为了避免修改SDK的文件,我们在工程的全局define中加入该宏
image

修改启动文件

启动文件里面定义了中断向量表,不同系列的芯片中断向量表是有所差异的,所以我们要选择对启动文件
这里我们只要在对应的启动文件上右击,通过选项Include/Exclude From Build 来使能和禁用该个文件
image

修改LD文件

  • LD文件,描述了存储区域的大小,亦描述了flash ram中代码是如果存放的,不同的芯片flash/ram 大小不一, 我们需要修改到与我们芯片所对应
  • 另外由于ch32v2xx的部分芯片支持FLASH和RAM大小调节(详细见https://www.cnblogs.com/iot-fan/p/16667833.html),所以LD文件我们尤为要注意与实际的情况对应

我们当然可以直接在工程的LD文件里面进行修改(工程的LD文件往往是链接到工程外部的):

MEMORY
{  
/* CH32V20x_D6 - CH32V203F6-CH32V203G6-CH32V203K6-CH32V203C6 */
/*
	FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K
	RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 10K
*/ 

/* CH32V20x_D6 - CH32V203K8-CH32V203C8-CH32V203G8-CH32V203F8 */
/*
	FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K
	RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K
*/ 
  
/* CH32V20x_D8 - CH32V203RB
   CH32V20x_D8W - CH32V208x
   FLASH + RAM supports the following configuration
   FLASH-128K + RAM-64K
   FLASH-144K + RAM-48K
   FLASH-160K + RAM-32K
*/
	FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 448K
	RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
}

但是更多时候,我们往往只想让特定工程拥有特定的LD文件, 这个时候,我们可以把工程链接到外部的LD文件移除工程,然后将实际的ld文件所在的文件夹复制到当前工程路径下,这样我们无论怎样改这个文件,都不会影响到其他的工程

标签:文件,ch32F208,RAM,芯片,FLASH,CH32V20x,LD,ch32v208,wch
From: https://www.cnblogs.com/iot-fan/p/17014272.html

相关文章