完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛扫一扫,分享给好友
|
本帖最后由 一只耳朵怪 于 2018-6-21 11:17 编辑
您好, 请问一下你们有关于AM335x平台上移植uCOS方面的参考吗,或者有什么经验吗? |
|
相关推荐
4个回答
|
|
|
|
|
|
|
|
|
不知道您要在AM335x平台上移植uCOS是出于什么考虑呢?简单操作还是实时性要求呢?
|
|
|
|
|
|
是对于实时性的处理,我看过ti官方的sy***ios系统,但是关于这方面的demo比较少,我也试着去使用了一下,不知道为何仿真就出错,这是我的代码: Int main() [ Task_Handle task; Error_Block eb; Task_Params taskParams; /* Enabling functional clocks for GPIO1 instance. */ GPIO1ModuleClkConfig(); /* Selecting GPIO1[23] pin for use. */ GPIO1Pin23PinMuxSetup(); UARTSetup(); /* Enabling the GPIO module. */ GPIOModuleEnable(GPIO_INSTANCE_ADDRESS); /* Resetting the GPIO module. */ GPIOModuleReset(GPIO_INSTANCE_ADDRESS); /* Setting the GPIO pin as an output pin. */ GPIODirModeSet(GPIO_INSTANCE_ADDRESS, GPIO_INSTANCE_PIN_NUMBER, GPIO_DIR_OUTPUT); UARTPuts("Enter StarterWare Application...rnn", -1); System_printf("enter main()n"); Task_Params_init(&taskParams); taskParams.stackSize = 20480; taskParams.priority = 1; Error_init(&eb); task = Task_create(taskFxn, &taskParams, &eb); taskParams.priority = 2; task = Task_create(taskFx1, &taskParams, &eb); taskParams.priority = 3; task = Task_create(taskFx2, &taskParams, &eb); if (task == NULL) [ System_printf("Task_create() failed!n"); BIOS_exit(0); ] BIOS_start(); /* does not return */ return(0); ] 仿真后的结果: [CortxA8] 0x44e000ac R8 = 0x4030d028 R1 = 0x00000000 R9 = 0x4030d008 R2 = 0x00000064 R10 = 0x4030d484 R3 = 0xfffffffd R11 = 0x00029940 R4 = 0x00000000 R12 = 0xffffffff R5 = 0x00000200 SP(R13) = 0x800095e0 R6 = 0x48060000 LR(R14) = 0x800111dc R7 = 0x00000020 PC(R15) = 0x800095e0 PSR = 0x48060000 DFSR = 0x00000005 IFSR = 0x00000000 DFAR = 0x44e000ac IFAR = 0x00000000 ti.sy***ios.family.arm.exc.Exception: line 205: E_dataAbort: pc = 0x800095e0, lr = 0x800111dc. xdc.runtime.Error.raise: terminating execution 然后就跳入 static void loader_exit(void) [ #if defined(EMBED_CIO_BP) __asm(" .global C$$EXITE"); #if defined(__32bis__) __asm("C$$EXITE:.word 0xDEFED0FE"); #else __asm(" .align 4"); #if defined(__big_endian__) __asm("C$$EXITE:.half 0xDEFE"); #else __asm("C$$EXITE:.half 0xD0FE"); #endif /* __big_endian__ */ #endif /* __32bis__ */ #else /* !EMBED_CIO_BP */ __asm(" .global C$$EXIT"); __asm("C$$EXIT: nop"); #endif ] 请教一下这是什么原因呢? |
|
|
|
|
sunrongsheng 发表于 2018-6-21 04:05 我知道了,是因为没有加内存映射MMU初始化! |
|
|
|
|
只有小组成员才能发言,加入小组>>
598 浏览 0 评论
1651 浏览 0 评论
2090 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1541 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1383 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1793浏览 29评论
2820浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1748浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1666浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1680浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-13 19:38 , Processed in 0.900184 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3748