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

郑州企业网站建设公司品牌推广的作用

郑州企业网站建设公司,品牌推广的作用,seo外包杭州,如何上国外购物网站目录 DSP开发例程: logbuf_print_to_uart新建工程源码编辑app.cfgos.cmain.c 调试说明 DSP开发例程: logbuf_print_to_uart SYS/BIOS 提供了 xdc.runtime.Log, xdc.runtime.LoggerBuf 和 xdc.runtime.LoggerSys 这几个模块用于日志记录. 日志信息在 应用程序调试和状态监控中非… 目录 DSP开发例程: logbuf_print_to_uart新建工程源码编辑app.cfgos.cmain.c 调试说明 DSP开发例程: logbuf_print_to_uart SYS/BIOS 提供了 xdc.runtime.Log, xdc.runtime.LoggerBuf 和 xdc.runtime.LoggerSys 这几个模块用于日志记录. 日志信息在 应用程序调试和状态监控中非常实用. 日志记录函数相较于 System_printf() 占用的时间更短, 且可以区分事件的等级, 如: Info, Warning 和 Error 等. 此例程实现将 SYS/BIOS 日志信息通过串口输出, 并在 EVM6678L 开发板上进行了测试. 例程源码可从我的 gitee 仓库上克隆或下载. 点击 DSP 开发教程(0): 汇总查看其他例程说明. 新建工程 此示例工程直接在 sys_print_to_uart 工程基础上修改. 选中 sys_print_to_uart 工程, 右键选择 Copy 或 使用快捷键 CtrlC 复制工程. 在工程浏览视图中, 右键选择 Paste 或使用快捷键 CtrlV 粘贴工程. 在弹出的 Copy Project 对话框中 修改工程名为: logbuf_print_to_uart, 点击 OK. 删除 logbuf_print_to_uart 工程中的 Debug目录, 右键选择 Build Project, 编译此工程. 源码编辑 app.cfg 使用 XGCONF 打开 app.cfg 文件. 点击 logger0. - 将 logger0 的句柄设置为 logger0. - 点击 Timestamp 模块. 勾选 Add Timestamp to my configuration. 保存修改. os.c 编辑 os.c 源文件, 其内容如下: /** os.c** Created on: 2023-10-26* Author: falwa*/ #include xdc/std.h #include xdc/runtime/Log.h #include xdc/runtime/LoggerBuf.h #include xdc/runtime/System.h #include xdc/runtime/Text.h #include xdc/runtime/Types.h #include xdc/runtime/Timestamp.hextern LoggerBuf_Handle logger0;/** doPrint */ Void myLog_doPrint(Log_EventRec *er) {Text_RopeId rope;String fmt;Bits32 hi, lo;Types_FreqHz freq;uint32_t msec;Timestamp_getFreq(freq);/* print timestamp if there is one; ~0 isnt a valid timestamp value */hi er-tstamp.hi;lo er-tstamp.lo;msec (((uint64_t)hi 32) | lo) / (freq.lo/1000);System_printf([%5d.%03ds] , msec/1000, msec%1000);/* print event */rope Types_getEventId(er-evt); /* the event id is the message rope */if (rope 0) {/* Log_print() event */System_aprintf((String)iargToPtr(er-arg[0]),er-arg[1], er-arg[2], er-arg[3], er-arg[4],er-arg[5], er-arg[6], 0, 0);}else {/* Log_write() event */fmt Text_ropeText(rope);if (Text_isLoaded) {System_aprintf(fmt, er-arg[0], er-arg[1], er-arg[2], er-arg[3],er-arg[4], er-arg[5], er-arg[6], er-arg[7]);}else {System_aprintf({evt: fmt%p, args[0x%x, 0x%x ...]},fmt, er-arg[0], er-arg[1]);}}System_putch(\n); }/** LoggerBuf_flush */ Void myLoggerBuf_flush(LoggerBuf_Object *obj) {Int nEntries;Log_EventRec evtRec;for (;;) {nEntries LoggerBuf_getNextEntry(obj, evtRec);if (nEntries 0) {break;}else {if (nEntries ! -1) {myLog_doPrint(evtRec);}}} }/*** 添加此函数到 Idle Thread.** xdc* var Idle xdc.useModule(ti.sysbios.knl.Idle);** Idle.idleFxns[0] os_systemFlush;* */ void os_systemFlush() {if (logger0)myLoggerBuf_flush(logger0);System_flush(); }/*** 将 System_printf() 重定向到 platform_uart_write().** 请在 .cfg 中添加:* * SysMin.outputFxn os_systemOutput;* */ Void os_systemOutput(Char *str, UInt len) {UInt i;for(i 0; i len; i){platform_uart_write(str[i]);} } 其中新增了两个函数 myLog_doPrint() 和 myLoggerBuf_flush() , 这两个函数参考 C:\ti\xdctools_3_25_03_72\packages\xdc\runtime\LoggerBuf.c 中的 Log_doPrint() 和 LoggerBuf_flush() 进行设计. 其中, myLog_doPrint() 用于调用 System_printf() 格式化打印一条日志事件;myLoggerBuf_flush() 负责调用 myLog_doPrint() 格式化 并 flush logBuf 中的所有日志事件. 在 os_systemFlush() 函数中调用 myLoggerBuf_flush(logger0); 完成日志的 flush. main.c 编辑 main.c, 其内容如下: /** main.c */ #include stdio.h #include string.h#include xdc/std.h#include xdc/runtime/Error.h #include xdc/runtime/Log.h #include xdc/runtime/System.h#include ti/sysbios/BIOS.h#include ti/sysbios/knl/Task.h#include ti/platform/platform.h/** taskFxn */ Void task_ledFlash(UArg a0, UArg a1) {int i 1;Log_info0(enter task_ledFlash().);while(1){platform_led(0, PLATFORM_LED_ON, PLATFORM_USER_LED_CLASS);Log_info1(LED 0 ON at %d times., i);Task_sleep(500);platform_led(0, PLATFORM_LED_OFF, PLATFORM_USER_LED_CLASS);Log_info1(LED 0 OFF at %d times., i);Task_sleep(500);i;} }/*** 平台初始化*/ void EVM_init() {platform_init_flags init_flags;platform_init_config init_config;// plaform initializememset(init_flags, 1, sizeof(platform_init_flags));init_flags.phy 0;memset(init_config, 0, sizeof(platform_init_config));if (platform_init(init_flags, init_config) ! Platform_EOK){printf(Platform failed to initialize, errno 0x%x \n, platform_errno);while(1);}platform_uart_init(); }/** main */ Int main() { Task_Handle task;Error_Block eb;Log_info0(enter main().);Log_error1(Log_error1(%d), 1);Log_warning2(log_warnning2(%d, %d), 1, 2);Error_init(eb);task Task_create(task_ledFlash, NULL, eb);if (task NULL) {System_printf(Task_create() failed!\n);BIOS_exit(0);}BIOS_start(); /* does not return */return(0); } 其中 调用了 Log_info#(), Log_error#() 和 Log_warning#() 这几个日志事件记录函数进行测试. 保存上述更改, 并编译工程. 调试 完成编译后, 在 EVM6678L 上调试. 串口通过USB连接计算机. 请确保 COM_SEL1 跳线设置在正确位置. 且在计算机设备管理器中能够找到对应板卡的串口. 打开串口终端, 连接对应串口, 串口设置如下: 点击运行按钮, 运行程序. 此时在串口终端中能够看到打印的日志信息. 相较于 System_printf(), 增加了 时间戳, 文件名, 行数等信息. 说明 这只是 打印日志信息到串口的一种方式. 启用 xdc.runtime.LoggerSys 模块, 也可以实现日志信息的打印, 不过打印的格式不是很好看, 其中的时间戳是16进制显示的. 看图自行体会.
http://www.w-s-a.com/news/626894/

相关文章:

  • 如何免费制作网站网站icp备案费用
  • 网站建设最新教程wordpress表白墙
  • android电影网站开发网站建设与设计实习报告
  • 公司汇报网站建设方案烟台seo网站推广
  • 文章网站哪里建设好找素材的网站
  • 怎么做自己的彩票网站公司建设网站价格
  • 国外比较好的设计网站网站后台无法上传图片
  • 帮别人做网站的公司是外包吗用户登录
  • 关于我们网站模板小莉帮忙郑州阳光男科医院
  • 上海门户网站怎么登录永州网站制作
  • 微信网站模版下载做销售的去哪个网站应聘
  • 好看的个人博客主页长安网站优化公司
  • 企业网站关站大型综合新闻门户网站织梦模板
  • 网站优化排名易下拉效率查企业网站
  • 网站建设湛江关于汽车的网站
  • 南宁模板建站多少钱企业黄页名单
  • 企业网站的建设一般要素有网站定制公司地址
  • 婚纱摄影网站设计案例四川省城乡建设厅官方网站
  • 怎么做海淘网站wordpress首页表单
  • 大连网站优化技术长沙高端网站建设服务
  • 郎创网站建设做的网站 v2ex
  • 广东网站建设教程江西城乡住房建设网站
  • 做ppt卖给网站wordpress insert
  • 文化传媒公司网站模板wordpress转typecho
  • 网站建设设计视频郑州 服装网站建设
  • 网站建设什么公司好织梦cms默认密码
  • 大型网站 空间网上商城官网入口
  • 成都全美网站建设江苏专业网站建设
  • 足球网站模板有帮忙做阿里巴巴网站的吗
  • 建设厅报名网站京东网站的建设与发展前景