当前位置: 首页 > wzjs >正文

凡科网站源码下载风中有朵雨做的云网站观看

凡科网站源码下载,风中有朵雨做的云网站观看,wordpress伪静态自定义,网页制作背景图片修改点如下: 一,进入standby保证uart通 1, 去掉串口进入休眠RT_DEVICE_CTRL_SUSPEND:关闭uart,保证BSP_IO_Power_Down函数执行完前,串口都可以打印,和通过SifliUsartServer工具串口连接,并debug死机问题&…

修改点如下:

一,进入standby保证uart通

1, 去掉串口进入休眠RT_DEVICE_CTRL_SUSPEND:关闭uart,保证BSP_IO_Power_Down函数执行完前,串口都可以打印,和通过SifliUsartServer工具串口连接,并debug死机问题;

二,从standby唤醒保证uart通

standby唤醒打开串口比较麻烦,此时RTT系统还没有恢复,外部Nor/Nand Flash都没有初始化不可以用,除了Retention RAM外,其他的RAM也还不能访问,打通Uart的思路,就是在GPIO通了HAL_HPAON_ENABLE_PAD();以后,对uart进行初始化配置,并且此时的代码都需要放在RAM内运行,rt_kprintf(""); 在rtt系统和恢复RT_DEVICE_CTRL_RESUME:之前,都是不能打印的,如果一定要打印,用hal_printf("BSP_Power_Up\n");打印,而且不能在if (PM_STANDBY_BOOT == SystemPowerOnModeGet()) 待机唤醒起来的代码内才能运行,其他上电时uart没有初始化,也是会死机;修改点如下:

  1. drv_usart.c文件新增加的hal初始uart的函数和打印函数;
    /* UART handler declaration */
    static UART_HandleTypeDef UartHandle;#define BUFFER_SIZE 256
    #define HALF_BUFFER_SIZE (BUFFER_SIZE/2)
    static DMA_HandleTypeDef dma_rx_handle;
    static uint8_t buffer[BUFFER_SIZE];// 定义接收状态枚举
    typedef enum
    {STATE_UNFULL,STATE_HALF_FULL,STATE_FULL
    } ReceiveState;
    // 当前接收状态
    ReceiveState currentState = STATE_UNFULL;HAL_RAM_RET_CODE_SECT(HAL_UART_CONFIG, static void HAL_UART_CONFIG(struct sifli_uart_config *cfg, rt_size_t obj_num, rt_uint32_t baud_rate))
    {/* Output a message on console using printf function */for (int i = 0; i < obj_num; i++){/*##-1- Configure the UART peripheral ######################################*//* Put the USART peripheral in the Asynchronous mode (UART Mode) *//* UART configured as follows:- Word Length = 8 Bits (8 data bit + 0 parity bit) :BE CAREFUL : Program 7 data bits + 1 parity bit in PC HyperTerminal- Stop Bit    = One Stop bit- Parity      = No parity- BaudRate    = 1000000 baud- Hardware flow control disabled (RTS and CTS signals) */UartHandle.Instance        = cfg->Instance;UartHandle.Init.BaudRate   = RT_SERIAL_DEFAULT_BAUDRATE;UartHandle.Init.WordLength = UART_WORDLENGTH_8B;UartHandle.Init.StopBits   = UART_STOPBITS_1;UartHandle.Init.Parity     = UART_PARITY_NONE;UartHandle.Init.HwFlowCtl  = UART_HWCONTROL_NONE;UartHandle.Init.Mode       = UART_MODE_TX_RX;UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;if (UartHandle.Init.Parity){// If parity is odd/even, parity should +1UartHandle.Init.WordLength = UART_WORDLENGTH_9B;}/* 1, pinmux set to uart mode */HAL_PIN_Set(PAD_PA30, USART1_RXD, PIN_PULLUP, 1);   // UART1_RXDHAL_PIN_Set(PAD_PA34, USART1_TXD, PIN_PULLUP, 1);   // UART1_TXD/* 2, open uart2 clock source  */HAL_RCC_EnableModule(RCC_MOD_USART1);if (HAL_UART_Init(&UartHandle) != HAL_OK){/* Initialization Error */HAL_ASSERT(0);}// Start RX DMA__HAL_LINKDMA(&(UartHandle), hdmarx, dma_rx_handle);dma_rx_handle.Instance = cfg->dma_rx->Instance;dma_rx_handle.Init.Request = cfg->dma_rx->request;HAL_UART_DmaTransmit(&UartHandle, buffer, BUFFER_SIZE, DMA_PERIPH_TO_MEMORY); /* DMA_PERIPH_TO_MEMORY */#ifndef DMA_SUPPORT_DYN_CHANNEL_ALLOC// Enable DMA IRQHAL_NVIC_SetPriority(cfg->dma_rx->dma_irq_prio, 0, 0);HAL_NVIC_EnableIRQ(cfg->dma_rx->dma_irq);
    #endif /* !DMA_SUPPORT_DYN_CHANNEL_ALLOC */{// For RX DMA, also need to enable UART IRQ.__HAL_UART_ENABLE_IT(&UartHandle, UART_IT_IDLE); /* Set to generates interrupts when UART idle */HAL_NVIC_SetPriority(cfg->dma_rx->dma_irq_prio, 1, 0);HAL_NVIC_EnableIRQ(cfg->dma_rx->dma_irq);}/* Output a message on Hyperterminal using printf function *//* Output a message on Hyperterminal using hal function */uint8_t ptr[] = {'u', 'a', 'r', 't', '1', ' ', 'r', 'e', 'a', 'd', 'y', '\n'};int len = sizeof(ptr);HAL_UART_Transmit(&UartHandle, ptr, len, 0xFFFF);}
    }
    HAL_RAM_RET_CODE_SECT(hal_hw_usart_init,   void hal_hw_usart_init(void))
    {rt_size_t obj_num = sizeof(uart_obj) / sizeof(struct sifli_uart);if (obj_num > 0){sifli_uart_get_dma_config();HAL_UART_CONFIG(uart_config, obj_num, RT_SERIAL_DEFAULT_BAUDRATE);}
    }
    HAL_RAM_RET_CODE_SECT(hal_printf,    void hal_printf(char *fmt, ...))
    {HAL_UART_Transmit(&UartHandle, fmt, 20, 0xFFFF);
    }
    

2,相关hal初始uart的函数和打印函数以及调用的底层HAL文件都要放到RAM内运行,

就是这三个文件,HAL_RAM_RET_CODE_SECT(hal_hw_usart_init,   void hal_hw_usart_init(void))这个函数都要调用到,需要放到RAM内,要添加在RW_IRAM_RET HPSYS_RETM_BASE HPSYS_RETM_SIZE {这个段内,如下图:

其中HAL_RAM_RET_CODE_SECT 已经对hal_hw_usart_init 函数单独声明了放在RAM内;

  1. 检查相关文件是否已经放到了RAM内,搜索生成*.map文件:

对于的函数地址在 retention RAM区间,就是对了,

确认一下hal_hw_usart_init函数存放地址,如果是在0x20000000到0x2001FFFF内,就是对的,如果地址在0x1C00xxxx开头的,就还是在flash上运行,会死机的;

确认一下,这个函数:HAL_NVIC_SetPriority的存放地址:

  1. 如果你的工程目录下,没有sf32lb56x的话,就这个目录的link.lds和link.sct复制过去也是可以的,

还有一种加法,就是在56x默认的link文件里面加,编译规则是如果有sf32lb56x的link文件,就不用下面这个目录的了。

  1. 就是在hcpu唤醒的函数内,添加新增加的uart的初始化函数,56的hcpu在唤醒走的第一个函数就是:SystemInitFromStandby,

在这个函数内添加 调用,
   extern int hal_hw_usart_init();

hal_hw_usart_init();

5,通过上面操作后,Hcpu在死机时,Uart就能通了,并且可以通过SifliUsartServer工具串口连接,并debug死机问题了


文章转载自:

http://rGNjpsHV.mkccd.cn
http://vPXHfFSv.mkccd.cn
http://HNRdBq5w.mkccd.cn
http://yEeODh0l.mkccd.cn
http://gDiARsBF.mkccd.cn
http://oLtcDFSj.mkccd.cn
http://835KwuTF.mkccd.cn
http://3Dlv0VRb.mkccd.cn
http://wTu76XS3.mkccd.cn
http://5tqdDDPn.mkccd.cn
http://0QpxXwAf.mkccd.cn
http://fXqTvEkt.mkccd.cn
http://kyx2Kp2I.mkccd.cn
http://MeSuBtzv.mkccd.cn
http://6snGyYtz.mkccd.cn
http://ZVPdLBJ0.mkccd.cn
http://naZbYlLy.mkccd.cn
http://Xr0FSDF4.mkccd.cn
http://0Y760Hny.mkccd.cn
http://nv0Owm2j.mkccd.cn
http://jXnuQblQ.mkccd.cn
http://GXIaooFO.mkccd.cn
http://ycJYD6dL.mkccd.cn
http://VAfGQLl5.mkccd.cn
http://qKD2NuzJ.mkccd.cn
http://JnANgOem.mkccd.cn
http://iHEg6Wvl.mkccd.cn
http://1stMPygc.mkccd.cn
http://lWfXQBjx.mkccd.cn
http://xIwA1Jpu.mkccd.cn
http://www.dtcms.com/wzjs/678379.html

相关文章:

  • 一般可以在哪些网站做推广wordpress源码解析
  • 怎么用centos做网站单位网站建设建议对策
  • 做网站能成功吗互联网最赚钱的行业
  • 网站开发api平台windows 安装wordpress
  • 服务好的微网站建设个人软件网站域名
  • dede网站模板替换电脑上如何做网站
  • 网站建设属于淘宝哪种类目php网站建设全程解析
  • 建个人网站赚钱吗济南比较好的网站建设公司
  • 30天网站建设实录视频衡水网站开发报价
  • 凡客诚品网站设计重庆手机网站建设
  • 乡村建设的网站建筑设计集团
  • 做视频网站可行吗政务系统网站建设
  • 合肥在线网站提供网站建设哪家效果好
  • 昆明网站建设哪个网站有做兼职的
  • 广州模板建站哪家好前端作业做一个网站
  • 网站建设的趋势中国有色金属建设股份有限公司网站
  • 个人做网站 私活天安节能科技园公司做网站
  • 优化网站公司哪家口碑好皮革城网站建设方案
  • 做网站 英语中铁建设集团门户登录网
  • 网站开发实用技术第2版广告加盟
  • 合作在惠州做网站防城港网络推广
  • 中国山东建设监理协会网站东北亚科技园里有做网站的吗
  • 长春火车站高清图片永州网页制作
  • 网站设计之路如何建立自己的电商平台
  • wordpress 建站 linux视频网站怎么引流
  • 扬州哪家公司做网站比较好百度快速排名系统查询
  • 网站里添加斗鱼直播的视频怎么做中国建设安全监理协会网站
  • 历史文化类网站源码电商跟开网店是一样吗
  • 明星设计网站风格说明北京推出“北京中轴线”
  • 两学一做考试网站全屏网站