国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

��ã��gӭ���������зf���¿Ƽ����޹�˾��
�Z��
��(d��ng)ǰλ�ã���� >> HDSC/�A�� >> �A���Ƭ�C�_�l(f��)֮HC32F460��QSTM32F411��ֲӛ�

�A���Ƭ�C�_�l(f��)֮HC32F460��QSTM32F411��ֲӛ�

�P(gu��n)�I�֣�С�A��Ƭ�C ���ߣ� ��Դ: �l(f��)���r�g��2021-01-18  �g�[��623
  • 2020�� 10 �� 21 �������(q��)�ӎ���µ������°� 1.1.1
  • 2020�� 10 �� 20 �գ�MCU ��ԭ���� HC32F460KCTA ���Q�� HC32F460KETA

����

  Ŀǰ�����֮a(ch��n)Ʒ��Ҫ���a(ch��n)�����׮�(d��ng)��_�ľ��Ǹ��Q���a(ch��n) MCU���ڽ�(j��ng)�^�׷��о�֮������K�Q��ʹ���A��� MCU �����棨STM32F411 -> HC32F460�������������c������Ό��F(xi��n)���Ŀ���aһ�c�c��ֲ�� HC32F460 �ϡ����¾���һЩ����ֲ�^���е�ӛ���

���ȏĹپW(w��ng) https://www.hdsc.com.cn/ ���d���N�Y�����_�l(f��)��
�A��

�_�l(f��)�h(hu��n)��

��(d��ng)ǰ�����_�l(f��)�h(hu��n)���У�Ĭ�J(r��n)���]���A��� MCU���������Ҫ�҂��Լ����A��ĹپW(w��ng)���d�� IDE �����׹��߰��M�а��b�����w�����Žׂ����棺

MCU �x��

  Ĭ�J(r��n) Keil �� IAR �в��]���A��� MCU����횏���پW(w��ng)���d�_�l(f��)���߰���Ȼ���M�а��b�����Hʹ���аl(f��)�F(xi��n)�����b֮����mȻ�����x���A�� MCU�����������澹Ȼ�]���Ҍ���(y��ng)�� MCU �����
���@�����DƬ����
ò����Ŀǰ���_�l(f��)���ЃH�ṩ�ˎׂ���͵� MCU���������d�㷨�����]����ʹ�õ� MCU �������^�����҂������x��һ���YԴ��һЩ�� MCU ���d�㷨������

���d�㷨

  ���b�����ڵ��_�l(f��)����1.0.2����ò�Ʋ��]�Ќ���(y��ng)�� FLASH ���d�㷨������ Keil ���治���@ʾ���d�㷨����Q�����ǣ����A���ṩ�����d�㷨 Flash_HC32F46x.FLM ��λ�����_�l(f��)���Ќ���(y��ng)���_�l(f��)�h(hu��n)��Ŀ��£��ŵ� Keil �İ��bĿ��µ� D:\Keil_v5\ARM\Flash �������^�������ҏĹپW(w��ng)���d������ 1.0.5 �汾�����b��Keil �Ϳ����@ʾ FLASH ���d�㷨����
���@�����DƬ����

ע�⣺�������Œ���(y��ng)���(q��)�ӎ�����Ҫ֔(j��n)�����ҿ���һ�����µ��(q��)�ӎ��c�f�IJ������ݣ�

Jlink/J-Flash ������

  ����_�l(f��)��ʹ�� Jlink �M�з����{(di��o)ԇ����ô��(j��ng)�����õ� J-Flash ���x�� MCU��Ĭ�J(r��n)��r�� Jlink ��Ҳ�Ǜ]���A�� MCU ������Q���������քӾ�݋ Jlink �İ��bĿ��µ������ļ� JLinkDevices.xml���������ƒ�(n��i)�ݣ�

<!-- --><!-- HDSC (HC32) --><!-- --><Device><ChipInfoVendor="HDSC"Name="HC32L176"WorkRAMAddr="0x20000000"WorkRAMSize="0x2000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_128K"BaseAddr="0x0"MaxSize="0x20000"Loader="Devices/HDSC/FlashHC32L17X_128K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32L136"WorkRAMAddr="0x20000000"WorkRAMSize="0x2000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_64K"BaseAddr="0x0"MaxSize="0x10000"Loader="Devices/HDSC/FlashHC32L13X_64K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32L130"WorkRAMAddr="0x20000000"WorkRAMSize="0x2000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_64K"BaseAddr="0x0"MaxSize="0x10000"Loader="Devices/HDSC/FlashHC32L13X_64K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32F030"WorkRAMAddr="0x20000000"WorkRAMSize="0x2000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_64K"BaseAddr="0x0"MaxSize="0x10000"Loader="Devices/HDSC/FlashHC32F030_64K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32L110x4"WorkRAMAddr="0x20000000"WorkRAMSize="0x800"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_16K"BaseAddr="0x0"MaxSize="0x4000"Loader="Devices/HDSC/FlashHC32L110_16K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32L110x6"WorkRAMAddr="0x20000000"WorkRAMSize="0x1000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_32K"BaseAddr="0x0"MaxSize="0x8000"Loader="Devices/HDSC/FlashHC32L110_32K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32F003"WorkRAMAddr="0x20000000"WorkRAMSize="0x800"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_16K"BaseAddr="0x0"MaxSize="0x4000"Loader="Devices/HDSC/FlashHC32F003_16K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32F005"WorkRAMAddr="0x20000000"WorkRAMSize="0x1000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_32K"BaseAddr="0x0"MaxSize="0x8000"Loader="Devices/HDSC/FlashHC32F005_32K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32L15"WorkRAMAddr="0x20000000"WorkRAMSize="0x1800"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_128K"BaseAddr="0x0"MaxSize="0x20000"Loader="Devices/HDSC/HC32L15.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32F_M14"WorkRAMAddr="0x20000000"WorkRAMSize="0x2000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_128K"BaseAddr="0x0"MaxSize="0x20000"Loader="Devices/HDSC/HC32F_M14.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32F46x"WorkRAMAddr="0x20000000"WorkRAMSize="0x10000"Core="JLINK_CORE_CORTEX_M4"/><FlashBankInfoName="Flash_512K"BaseAddr="0x0"MaxSize="0x80000"Loader="Devices/HDSC/HC32F46x.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32L19x"WorkRAMAddr="0x20000000"WorkRAMSize="0x8000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_256K"BaseAddr="0x0"MaxSize="0x40000"Loader="Devices/HDSC/FlashHC32L19X_256K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32F19x"WorkRAMAddr="0x20000000"WorkRAMSize="0x8000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_256K"BaseAddr="0x0"MaxSize="0x40000"Loader="Devices/HDSC/FlashHC32F19X_256K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32F17x"WorkRAMAddr="0x20000000"WorkRAMSize="0x4000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_128K"BaseAddr="0x0"MaxSize="0x20000"Loader="Devices/HDSC/FlashHC32F17X_128K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32L17x"WorkRAMAddr="0x20000000"WorkRAMSize="0x4000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_128K"BaseAddr="0x0"MaxSize="0x20000"Loader="Devices/HDSC/FlashHC32L17X_128K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32F072"WorkRAMAddr="0x20000000"WorkRAMSize="0x4000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_128K"BaseAddr="0x0"MaxSize="0x20000"Loader="Devices/HDSC/FlashHC32F072_128K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device><Device><ChipInfoVendor="HDSC"Name="HC32L07X"WorkRAMAddr="0x20000000"WorkRAMSize="0x4000"Core="JLINK_CORE_CORTEX_M0"/><FlashBankInfoName="Flash_128K"BaseAddr="0x0"MaxSize="0x20000"Loader="Devices/HDSC/FlashHC32L07X_128K.FLM"LoaderType="FLASH_ALGO_TYPE_OPEN"AlwaysPresent="1"/></Device>

ע������������� Jlink �(q��)�ӣ���Ҫ���¸������σ�(n��i)����

�(q��)�ӎ���ֲ

�@�����Ǻ��韩������(j��)����ĈD������(y��ng)��ԭ ST ��Ŀ䛽Y(ji��)��(g��u)�м���
���@�����DƬ����

�������_

  HC32F460 �� BOOT ���_��PB11���Ӹ��ƽ��� Flash ���������ƽ��� BOOT �������c ST �����෴�������� ST �� �A�� �ęn�е��f����
���@�����DƬ����

�(q��)�ӎ��Д�̎��

  HC32F460 ���(q��)�ӎ��ṩ��һ�� hc32f46x_interrupts.c/h ���ļ���ԓ�ļ������е��Д��M���˽y(t��ng)һ��̎����Ȼ����������(sh��)����ʽ�_�l(f��)����ӿڣ�hc32f46x_it.c �ж��x�ĺ���(sh��)���� hc32f46x_interrupts.c/h ��•����������(sh��)�ӿڣ�����������������(sh��)��ʹ��ò�Ʋ����Ǻ�Ҏ(gu��)�������ҵ��Ŀ�У�������(sh��)���]������������(d��o)�����Д�ӿڲ����á����w��Q������

  1. �޸��(q��)�ӎ������w���ԅ��� ST �� HAL ���Ќ���������(sh��)��ʹ��
  2. ����һ���B��������(sh��)�����ˆD��ʾ��
    ���@�����DƬ����
    �@ô�㣬������(sh��)��ʹ���ϲ��͏�(f��)�s�������һ�e����

  �ڌ��Hʹ�������󲿷��Дࣨ�Д�̖ 32 ~ 127������ȶ��xһ�����{(di��o)����(sh��)��Ȼ��ʹ�õ��Д�ע�Ե� hc32f46x_interrupts.c/h �ж��x�ķ������С����磺

/* Select External Int Ch.3 */ stcIrqRegiConf.enIntSrc = INT_PORT_EIRQ3;/* Register External Int to Vect.No.007 */ stcIrqRegiConf.enIRQn = Int007_IRQn;/* Callback function */ stcIrqRegiConf.pfnCallback =&ExtInt03_Callback;/* �@�ﶨ�xһ�����{(di��o)����(sh��) *//* Registration IRQ */enIrqRegistration(&stcIrqRegiConf);

���ڲ���Ҫע�Ե��Д����tֱ�Ӷ��x������(sh��)�ӿ������磺

/** ******************************************************************************* ** \brief SysTick interrupt callback function. ** ** \param None ** ** \retval None ** ******************************************************************************/voidSysTick_IrqHandler(void){SysTick_IncTick();}

  ���˸��X�@���ļ������Óѝ�ӷ�ƨ�����һ�e���چ��ӵ� .s �ļ��������Д�̎������(sh��)�ӿڶ��ѽ�(j��ng)•��������ѭ�h(hu��n)��̎�������@����Д�������һ�����ַų�ȥ����ȫ���Ǟ������Ӵ��a������ʹ���ϛ]���κα��֮̎���@���ļ����g��ͽ� 10K �Ĵ��a����Ȼ��߀��ռһ�� RAM���Л]�п��]�^ MCU 100 �����Д����H���Îׂ���һ���Xȫ�o��һ�Kȥ����
���@�����DƬ����
�P(gu��n)��������(sh��)��ʹ����Ո�������� ARM ֮ʮһ__weak �� attribute((weak)) �P(gu��n)�I�ֵ�ʹ��

���� FLASH ���g������Ŀǰ���ڸ��Q HC32F460KETA

���T��

  Ŀǰ�����T��������ֻ���ڎ��ļ� hc32f46x_icg.h ���M��������Ȼ�� hc32f46x_icg.c �������Լ����Ŀ������t�������f�oЧ���ڸ������(q��)�ӎ�Դ�a֮�����ڸ����(q��)�ӎ�r��Ҫע����
  ���⣬�����@�N���÷������g�ӌ�(d��o)��һ�����}�������҂��ij���֞� IAP �� APP �ɲ��������T�������ñ�횷ŵ� IAP �У��� APP �в����ٰ���ԓ�ļ�����t���{(di��o)ԇ�����r�����e�����wҊ���ĵ� [�������d����] �¹�(ji��)

DMA

  ��ʹ�ô��� DMA ���յĕr�����l(f��)�F(xi��n)�(q��)�ӎ��ṩ�Ľӿڲ����ܝM�㌍�H��Ҫ�����w���F(xi��n)�������ڵ� DMA �ǹ�����ѭ�h(hu��n)ģʽ�µ����@��Ҫ���ڱ�Ҫ�ĕr����ԫ@ȡ DMA ���յĔ�(sh��)��(j��)�L�������^�(q��)�ӎ�ò�ƛ]�Ќ���(y��ng)�Ľӿ���

DMA �(q��)����ֻ���O(sh��)�ýӿ����]���xȡ�ӿ��� ���o���Լ������ˎׂ��ӿ���

GPIO

�A��(y��ng)ԓ�Q�� PORT

�r�

  ò�����A�� MCU �������� ST MCU �Ƶ����_�������P(gu��n)�]ij�� GPIO �ĕr������������� IO �r���o��Ҫ̎��r犵Ć��}��

��������

ijЩ IO ����늕rĬ�J(r��n)�������������ܵġ����磺

  • PA13��PA14��PA15��PB3��PB4 �˿ڏ�(f��)λ���ʼ��B(t��i)�� JTAG/SWD ������Ч��
  • PC14��PC15 �˿ڏ�(f��)λ���ʼ��B(t��i)�锵(sh��)�ֹ��ܽ�ֹ?f��n)�B(t��i)
  • PA11��PA12 �c USBFS_DM��USBFS_DP ���_��(f��)������(n��i)�ؼs 400K�� ��������裬��һֱ��Ч��
  • �˿� PB11 �c MD ��(f��)�ã���ݔ�댣�ö˿����oݔ������

�@һ�cò�ƺ� STM32F1x ��ʹ����r��һ�µ�������������Ҫ������� IO ������ͨ IO ʹ�ã��t����M������������Ȼ������M�������� IO ���ã�

  • PA13��PA14��PA15��PB3��PB4 ������ FSEL[5:0] �x���ܕr��Ҫ�Ȍ��Ĵ��� PSPCR ����(y��ng)λ�� 0 �oЧJTAG/SWD ����������(y��ng)�Ď캯��(sh��)�ӿ� en_result_t PORT_DebugPortSetting(uint8_t u8DebugPort, en_functional_state_t enFunc);
  • PC14��PC15 ���x��(sh��)�ֹ��ܕr��Ҫ�Ȍ�����(y��ng)�Ĵ��� PCRxy �� DDIS λ�� 0 ��Ч��(sh��)�ֹ������@�����M�� IO ���Õr����en_result_t PORT_Init(en_port_t enPort, uint16_t u16Pin, const stc_port_init_t *pstcPortInit); �о��Ќ���(y��ng)��̎����
  • ��(d��ng)ϵ�y(t��ng)�\���ڸ��ٕr��������� I/O ݔ��������t�������ڿ��ܟo�����_�xȡݔ���B(t��i)ֵ���˕r��Ҫ�O(sh��)�üĴ��� PCCR.RDWT[1:0]���������ɵȴ�������

���O(sh��)���_ӳ��

  ���wҊ�Ñ��փԵ� 2.2 ���_���ܱ������ҵ��Ŀ�������F(xi��n)�� SPI_CLK ���_�o��ӳ��Ć��}��

�������d����

  ��ʹ���аl(f��)�F(xi��n)�������d����֮�󲢲��������������ҵ��Ŀ�Y(ji��)��(g��u)�� IAP���ھ������� + APP��ÿ�����d APP ֮����IAP �͕��������һ�_ʼ�]�о��w�����e�`��ԭ�����r�����뮔(d��ng)Ȼ��ͨ�^���½�Q������̎�������@�����DƬ����
���������ψD�޸�֮�����ڌ��H���d�ĕr��Keil ����ʾ���µľ��������^ò�ƛ]ɶӰ�
���@�����DƬ����
�mȻ�{(di��o)ԇ�]ɶӰ������������� .bin �ļ��r�s�����F(xi��n)�e�`��

���@�����DƬ����
�����Hԓ�������]�н�Q������ͨ�^Ԕ��(x��)���������l(f��)�F(xi��n)ԓ���}�����ڿ��T�������Ì�(d��o)�µ������w������ APP �а����� ���T�������������T���������䌍�� FLASH �еĹ̶�һ�K���g���҂��� APP ƫ��֮����Ȼ�]�п��T�����ֵIJ����㷨��

��K��Q������ �҂�����Ҫ����ĸ�����ֻ��Ҫ�����T�������÷ŵ� IAP �м��ɣ� IAP �϶��Ǐ���ʼ��ַ�_ʼ����Ȼ�����І��}��

���O(sh��)����ʼ��

  �ҵ��Ŀ�Y(ji��)��(g��u)�� IAP���ھ������� + APP�����O(sh��)�� IAP �й��������������� APP �й������������@��Ҫ�����ڣ����O(sh��)�� IAP ���ѽ�(j��ng)��ʼ����Ȼ�����{(di��o)���� APP ֮�����@�������O(sh��)�����ѽ�(j��ng)����ʼ������(d��o)�²����ٴα���ʼ�����@һ�c�䌍���� ST �� MCU ͬ���m�á��������Ҫ�҂�������̎����
  ���� hc32f46x_interrupts.c/h �����õ��Д�������� IAP ���ѽ�(j��ng)���O(sh��)�������D(zhu��n)�� APP �󣬾͟o�������������ˣ�ȫ��׃���Е��z���Ƿ������^��

en_result_t enIrqRegistration(const stc_irq_regi_conf_t *pstcIrqRegiConf){// todo, assert ... stc_intc_sel_field_t *stcIntSel; en_result_t enRet = Ok;//DDL_ASSERT(NULL != pstcIrqRegiConf->pfnCallback);DDL_ASSERT(IS_NULL_POINT(pstcIrqRegiConf->pfnCallback));/* IRQ032~127 whether out of range */if(((((pstcIrqRegiConf->enIntSrc/32)*6+32)> pstcIrqRegiConf->enIRQn)|| \ (((pstcIrqRegiConf->enIntSrc/32)*6+37)< pstcIrqRegiConf->enIRQn))&& \ (pstcIrqRegiConf->enIRQn >=32)){ enRet = ErrorInvalidParameter;}else{ stcIntSel =(stc_intc_sel_field_t *)((uint32_t)(&M4_INTC->SEL0)+ \ (4u* pstcIrqRegiConf->enIRQn));if(0x1FFu== stcIntSel->INTSEL)/* ����ѽ�(j��ng)��ʼ���^���@������ٳ�ʼ�� */{ stcIntSel->INTSEL = pstcIrqRegiConf->enIntSrc; IrqHandler[pstcIrqRegiConf->enIRQn]= pstcIrqRegiConf->pfnCallback;}else{ enRet = ErrorUninitialized;}}return enRet;}

���w��������ʹ�� enIrqResign ����(sh��)�M�����˜�(bi��o)ӛ��

��݋��admin  ����޸ĕr�g��2021-01-18

“(li��n)ϵ��ʽ

0755-82591179

���棺0755-82591176

�]�䣺vicky@yingtexin.net

��ַ�����������A�^(q��)���νֵ����δ��973�f�����S��(chu��ng)�I(y��)�@A��2��A08

Copyright © 2014-2025 �f���¿Ƽ����޹�˾ All Rights Reserved.  ��ICP��14043402̖-4

深圳市市场监督管理局企业主体身份公示