完善资料让更多小伙伴认识你,还能领取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初始化! |
|
|
|
只有小组成员才能发言,加入小组>>
509 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
380 浏览 1 评论
939 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2111 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3857 浏览 4 评论
23浏览 3评论
CC3100BOOST使用CC3200lunchXL进行烧录
888浏览 2评论
135浏览 2评论
170浏览 2评论
148浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-20 14:53 , Processed in 0.764062 second(s), Total 50, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号