主题中讨论的其他器件:OMAP-L137、 AM1707
您好!
UBL 的 UART 引导模式和 SPI 闪存加载以及 OMAPL137的应用程序映像都面临着问题。
我们正在尝试根据以下 URL 使用闪存实用程序、并重建了实用程序以满足我们的需求( 我们使用具有24MHz 晶体的 UART0和 SPI0)。
另一件事是、我们的电路板上没有 SDRAM、我们将共享 RAM 和 DSP L2用于我们的应用。
http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L137
http://processors.wiki.ti.com/index.php/Rebuilding_the_Flash_and_Boot_Utils_Package
我们在 TI E2E 论坛上看到了很多关于这一点的讨论、而且我们几乎已经处理了 UART0波特率和 SPI 预分频器的所有设置、因为默认 SFH 实用程序支持24MHz 时钟。
我们的更改如下所示。
- i. OMAP-L137/Common/src/device.c–修改传递到函数 DEVICE_PLL0Init 的参数、将正确的 PLLM 值设置为24 (25 * 24MHz)、以获得300MHz CPU 频率
- 二 OMAP-L137/Common/src/device_UART.c -修改 DEVICE_UART_CONFIG 以实现115200波特率
CONST UART_ConfigObj DEVICE_UART_CONFIG =
{
UART_OSM_x16、 // OSM
UART_parity、// 奇偶校验
UART_STOP_bits_1、 // stopbits
8、 // charLen
#IF 定义(OMAPL137_v1)
41 //分频器
#Elif Defined (AM1707)
123 //分频器
其他
81 //分频器
#endif
};
DEVICE_SPI.h:
#define DEVICE_SPI_TIMEOUT (10240)
#define DEVICE_SPI_DATOFFSET (0) -也尝试过(1)。
#define DEVICE_SPIBOOT_PERIPHNUM (0)
#define DEVICE_SPIBOOT_CSNUM (0)
#define DEVICE_SPI_UBL_HDR_OFFSET (0*1024)
#define DEVICE_SPI_APP_HDR_OFFSET (64*1024)
DEVICE_UART.h:
#define DEVICE_UART_PERIPHNUM (0)
DEVICE_SPI.h:
CONST SPI_ConfigObj DEVICE_SPI_CONFIG =
{
1、//极性
0、//相位
10、//预分频器
8 // charLen
};
//将 SPI 配置设置为 NULL 以使用 SPI 驱动程序默认值
//SPI_ConfigHandle const hDEVICE_SPI_CONFIG = NULL;
SPI_ConfigHandle const hDEVICE_SPI_CONFIG =(SPI_ConfigHandle)&DEVICE_SPI_CONFIG;
const SPI_MEM_ParamsObj DEVICE_SPI_MEM_params =
{
SPI_MEM_TYPE_FLASH、
24、// addrWidth
256、//页面大小
4096、// sectorSize
64*1024,//块大小
8*1024*1024 //内存大小
};
我们使用 TTZ2564 SPI 闪存作为我们的硬件。
我们尝试了 UART0、SPI0的所有设置组合,但仍然看到消息 “Waiting for SFT on the OMAP-L137…” 如下所示、当我们尝试使用命令"sfh_OMAP-L137.exe -p COM4 -ERASE"擦除闪存时