完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-6-20 15:19 编辑
请问各位:这里的PROFILE是做什么用的?这些值是根据什么确定的? /* REVIST : check posibility of PROFILE_(x) syntax usage */ #define PROFILE_NONE -1 /* Few EVM doesn't have profiles */ #define PROFILE_0 (0x1 << 0) #define PROFILE_1 (0x1 << 1) #define PROFILE_2 (0x1 << 2) #define PROFILE_3 (0x1 << 3) #define PROFILE_4 (0x1 << 4) #define PROFILE_5 (0x1 << 5) #define PROFILE_6 (0x1 << 6) #define PROFILE_7 (0x1 << 7) #define PROFILE_ALL 0xFF 比如 [uart1_wl12xx_init, DEV_ON_BASEBOARD, (PROFILE_0 | PROFILE_3 | PROFILE_5)] uart1是根据什么选的PROFILE_0 | PROFILE_3 | PROFILE_5,还有,uart1明明接在daughterboard,为什么这里是DEV_ON_BASEBOARD? |
|
相关推荐
4个回答
|
|
这个profile的值,决定了一些管脚的pinmux配置,从而使得这个GPEVM板能够进行更多功能的验证。具体的profile值对应的pinmux的配置信息可以参考:
http://processors.wiki.ti.com/index.php/AM335x_General_Purpose_EVM_CPLD 这个是wl12xx模块吧,没仔细看过,但这个wireless的模块是在baseboard上面有插槽接口的。建议你仔细看一下原理图,是不是被复用了。 |
|
|
|
hwjj940056201 发表于 2018-6-20 03:18 您好,首先感谢您的回复,这个不是uart1吗?它是这么定义的: static struct pinmux_config uart1_wl12xx_pin_mux[] = [ ["uart1_ctsn.uart1_ctsn", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT], ["uart1_rtsn.uart1_rtsn", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT], ["uart1_rxd.uart1_rxd", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP], ["uart1_txd.uart1_txd", OMAP_MUX_MODE0 | AM33XX_PULL_ENBL], [NULL, 0], ]; 跟这个复用,但是profibus_pin_mux不在gen_purp_evm_dev_cfg数组里,应该不会被调用吧 static struct pinmux_config profibus_pin_mux[] = [ ["uart1_rxd.pr1_uart0_rxd_mux1", OMAP_MUX_MODE5 | AM33XX_PIN_INPUT], ["uart1_txd.pr1_uart0_txd_mux1", OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT], ["mcasp0_fsr.pr1_pru0_pru_r30_5", OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT], [NULL, 0], ]; 我还有一些问题 1.uart1需要在硬件上做处理吗?还是只要配置正确,不被复用,就能正常使用? 2.uart1的配置过程,步骤能给我讲讲吗? 3.uart0是在哪里初始化的,我在board-am335xevm.c上没有找到 PS:不好意思,问题有点多,但是我实在是不懂,我在别的帖子问,也没人告诉我,烦请您耐心解答,万分感谢! |
|
|
|
键盘侠Alex 发表于 2018-6-20 03:23 1. 我刚翻了一下原理图,UART1的硬件设计在BASEBOARD上面。不是,我的意思是说,你注意pin脚的功能复用。被复用的pin脚只要配置正确就能正常使用。 2. 参考TRM的UART章节。 3. 这个初始化,应该在最初的阶段就进行了。 |
|
|
|
hwjj940056201 发表于 2018-6-20 03:42 您好,感谢您的解答,这是默认的配置,这么配置正确吗?应该怎么确认呢?还有关于profile的值,我看不大明白,您能给我举个例子吗?比如就拿uart1来说 (PROFILE_0 | PROFILE_3 | PROFILE_5) ,设置了哪些pinmux? board-am335xevm.c: static struct pinmux_config uart1_wl12xx_pin_mux[] = [ ["uart1_ctsn.uart1_ctsn", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT], ["uart1_rtsn.uart1_rtsn", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT], ["uart1_rxd.uart1_rxd", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP], ["uart1_txd.uart1_txd", OMAP_MUX_MODE0 | AM33XX_PULL_ENBL], [NULL, 0], ]; static void uart1_wl12xx_init(int evm_id, int profile) [ setup_pin_mux(uart1_wl12xx_pin_mux); ] [uart1_wl12xx_init, DEV_ON_BASEBOARD, (PROFILE_0 | PROFILE_3 | PROFILE_5)], mux33xx.c: _AM33XX_MUXENTRY(UART1_CTSN, 0, "uart1_ctsn", NULL, NULL, "i2c2_sda", "spi1_cs0", NULL, NULL, "gpio0_12"), _AM33XX_MUXENTRY(UART1_RTSN, 0, "uart1_rtsn", NULL, NULL, "i2c2_scl", "spi1_cs1", NULL, NULL, "gpio0_13"), _AM33XX_MUXENTRY(UART1_RXD, 0, "uart1_rxd", "mmc1_sdwp", NULL, "i2c1_sda", NULL, "pr1_uart0_rxd_mux1", NULL, "gpio0_14"), _AM33XX_MUXENTRY(UART1_TXD, 0, "uart1_txd", "mmc2_sdwp", NULL, "i2c1_scl", NULL, "pr1_uart0_txd_mux1", NULL, "gpio0_15"), omap_hwmod_33xx_data.c: /* uart1 */ static struct omap_hwmod_dma_info uart1_edma_reqs[] = [ [ .name = "tx", .dma_req = 26, ], [ .name = "rx", .dma_req = 27, ], [ .dma_req = -1 ] ]; static struct omap_hwmod_addr_space am33xx_uart1_addr_space[] = [ [ .pa_start = 0x44E09000, .pa_end = 0x44E09000 + SZ_8K - 1, .flags = ADDR_TYPE_RT, ], [ ] ]; static struct omap_hwmod_ocp_if am33xx_l4_wkup__uart1 = [ .master = &am33xx_l4wkup_hwmod, .slave = &am33xx_uart1_hwmod, .clk = "uart1_ick", .addr = am33xx_uart1_addr_space, .user = OCP_USER_MPU, ]; static struct omap_hwmod_irq_info am33xx_uart1_irqs[] = [ [ .irq = 72 ], [ .irq = -1 ] ]; static struct omap_hwmod_ocp_if *am33xx_uart1_slaves[] = [ &am33xx_l4_wkup__uart1, ]; static struct omap_hwmod am33xx_uart1_hwmod = [ .name = "uart1", .class = &uart_class, .clkdm_name = "l4_wkup_clkdm", .mpu_irqs = am33xx_uart1_irqs, .main_clk = "uart1_fck", .sdma_reqs = uart1_edma_reqs, .prcm = [ .omap4 = [ .clkctrl_offs = AM33XX_CM_WKUP_UART0_CLKCTRL_OFFSET, .modulemode = MODULEMODE_SWCTRL, ], ], .slaves = am33xx_uart1_slaves, .slaves_cnt = ARRAY_SIZE(am33xx_uart1_slaves), ]; |
|
|
|
只有小组成员才能发言,加入小组>>
586 浏览 1 评论
427 浏览 1 评论
620 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
910 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
709 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
193浏览 29评论
1156浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
323浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
286浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
135浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 23:50 , Processed in 0.732815 second(s), Total 54, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号