Flash移植FAL 水平较菜,大佬轻喷。 组件 这边我们打开DFS和Fatfs,主要是后面会用,所以提前打开一下,如果只是移植FAL的话应该可以不开,因为DFS在FAL的上层,暂时用不到。 然后在硬件部分打开片上flash,如下图所示: 再打开FAL,这里也有点问题,就是现在FAL移植进入内核了,不是软件包了,我还纳闷为啥无法加入。 然后接到开发板的DAPlink上面烧录就好了,成功之后应该是这样的: 测试 然后测试fal命令,如下所示: porbe fal probe disk erase fal erase 0 128 # msh />fal erase 0 128 # Erase data success.
环境:RAC+单机 Dataguard 问题:启动DG备库到mount阶段,启动MRP进程后,发现后台日志不打印归档传输信息,另外备库日志打开ARC1: Becoming the 'no FAL' ARC 1、启动DG备库到mount阶段,启动MRP进程后,发现后台日志不打印归档传输信息, ,发现备库中的日志有报错现象,报:ARC1: Becoming the 'no FAL' ARC错误,告警中日志如下 started with pid=20, OS id=10566 ARC1: Archival started ARC2: Archival started ARC1: Becoming the 'no FAL MESSAGE ARC0: Archival started ARC1: Archival started ARC2: Archival started ARC1: Becoming the 'no FAL MESSAGE ARC0: Archival started ARC1: Archival started ARC2: Archival started ARC1: Becoming the 'no FAL
1.2 打开fal和at device软件包 配置fal软件包 ? 配置sfud组件 ? 配置SPI ? 配置fal_cfg.h #ifndef _FAL_CFG_H_ #define _FAL_CFG_H_ #include <rtconfig.h> #include <board.h> #define stm32_onchip_flash_16k; extern const struct fal_flash_dev stm32_onchip_flash_64k; extern const struct fal_flash_dev stm32_onchip_flash_128k; extern struct fal_flash_dev nor_flash0; /* flash device table (1024 + 512) * 1024 , 512 * 1024, 0}, \ } #endif /* FAL_PART_HAS_TABLE_CFG */ #endif /* _FAL_CFG_H_
FAL SFUD(W25Q64 Flash)移植拷贝FAL项目samples\porting的fal_flash_sfud_port.c到工程中。 RT-Thread提供的内部flash驱动通过宏#define PKG_USING_FAL向FAL提供的fal_flash_dev设备对象onchip_flash,包含了STM32L431片内Flash fal_cfg.h 可以参考 示例文件 fal/samples/porting/fal_cfg.h 完成。 fal_cfg.h 可以参考 示例文件 fal/samples/porting/fal_cfg.h 完成。 ,则返回对应的字符设备,失败返回空 2.4 应用示例: 通过调用fal_init()对fal初始化后,可以使用rtthread的fal命令行进行性能测试: ?
SYSTEM TABLE | | | | | | fal SYSTEM TABLE | | | | | | fal SYSTEM TABLE | | | | | | fal SYSTEM TABLE | | | | | | fal SYSTEM TABLE | | | | | | fal
(确定11g dg官方安装文档中这个参数没有再提,因此只需要设定fal_server) FAL_CLIENT specifies the FAL (fetch archive log) client name that is used by the FAL service, configured through the FAL_SERVER initialization parameter, to refer to the FAL client. FAL_SERVER specifies the FAL (fetch archive log) server for a standby database. 和fal_client alter system set fal_server='jyzhao_s'; --设置standby_file_management为自动 alter system set standby_file_management
目前Oracle提供了两种日志GAP的检测和处理机制,分别是自动GAP处理(Automatic Gap Resolution)和FAL进程GAP处理(FAL Gap Resolution)。 FAL(Fetch Archive Log)是通过配置FAL_SERVER和FAL_CLIENT实现GAP检测的一种机制,它是备库主动发起的“取”日志的过程。 备库就是FAL_CLIENT,它从FAL_SERVER中取这些GAP。Oracle会首先尝试使用FAL进程处理GAP,当发现FAL机制并没有配置生效的时候,进而尝试使用自动GAP处理。 FAL进程只在物理备库存在。FAL进程提供了一个CLIENT/SERVER的机制,用来解决检测在主库产生的连续的归档日志,而在备库接受的归档日志不连续的问题。
=1; fal2=1; if abs(e1)<=delta fal1=e1/(delta^(1-alfa1)); end if abs(e1)>delta fal1=(abs(e1) )^(alfa1)*sign(e1); end if abs(e2)<=delta fal2=e2/(delta^(1-alfa2)); end if abs(e2)>delta fal2 =(abs(e2))^(alfa2)*sign(e2); end y=beta1*fal1+beta2*fal2; end 效果: 可见效果好多了,因此非线性pid有效果!!!!!! 函数 if abs(e1)<=delta fal1=e1/(delta^(1-alfa1)); end if abs(e1)>delta fal1=(abs(e1))^(alfa1)*sign (e1); end if abs(e1)<=delta fal2=e1/(delta^(1-alfa2)); end if abs(e1)>delta fal2=(abs(e1))^(alfa2
漏洞发现 FAL-01-001 Driver: Undetected crash disables Falco monitoring (Critical) 除了Falco审计之外,Sysdig(公司)还赞助了 FAL-01-001是关于内核模块可能由于整数溢出而崩溃的漏洞。libscap和libsinsp库没有检测到崩溃的内核模块,因此这就禁用了Falco用来检测异常行为的系统调用流。 FAL-01-002 Falco: Bypassing various rules with different techniques (High) 该漏洞涵盖了可以绕过规则的各种方法。 杂项问题 FAL-01-004 Falco: Dependencies pulled via hard-coded HTTP links (Low) Falco利用cmake构建Falco及其依赖项。 FAL-01-005 Falco: Security flags not enforced by Makefile (Low) 现代编译器提供的标记可以减少基于内存损坏的攻击的可能性。
目的:使用RT-Thread Studio测试OSPI对板载norFlash的读写,使用FAL 抽象层进行管理和操作。 结果:使用ospi驱动实现FAL。 (3)增加文件 拷贝了官方例程文件中的初始化文件和单线SPI中的drv_w25qxx的FAL接口文件到APP文件夹 (4)编写程序:由于使用的flash芯片型号不同,主要修改了官方例程的配置和初始化内容 并对FAL接口中的部分函数调用做了修改。 (5)下载调试:首先需要调试初始化在识别芯片UID后,此时可确定配置正常,修改芯片状态后再调试和测试FAL执行情况。
这项实时DeepFake换脸技术,是来自一家名叫fal.ai公司的camera ai项目。 这不,有网友就脑洞大开地让爱因斯坦玩起了量子玩具~ 不少网友在体验过后直呼“太疯狂了”: 一句话在线变身 正如我们刚才所述,fal.ai的这款软件在操作上可谓是极其简单——只需要输入人名。 DeepFake这样的技术,我们绝对不能滥用哦~ 参考链接: [1]https://twitter.com/techhalla/status/1735664934879420758 [2]https://www.fal.ai /camera [3]https://twitter.com/fal_ai_data [4]https://twitter.com/LinusEkenstam/status/1735629674598769012
12.添加FAL软件包 ? 配置fal_cfg.h, tgfx分区用于touchgfx的资源存储,其他分区用于OTA、文件系统和系统参数配置。 fal_flash_dev stm32_onchip_flash_128k; extern struct fal_flash_dev nor_flash0; /* flash device table , "bootloader", "onchip_flash_16k", 0 , FLASH_SIZE_GRANULARITY_16K , 0}, \ {FAL_PART_MAGIC_WROD, "ef", "onchip_flash_64k", 0 , FLASH_SIZE_GRANULARITY_64K , 0}, \ {FAL_PART_MAGIC_WROD, */ #endif /* _FAL_CFG_H_ */ 初始化fal int fs_init(void) { /* partition initialized */ fal_init
也就是说主库的LGWR进程依赖于网络状况,有时这种要求可能过于苛刻,推荐使用LGWR ASYNC方式 3.FAL(Fetch archive log)进程 搭建DG的时候配置了fal_client和fal_server FAL进程提供了一个client/server的机制,用来解决检测在主库产生的连续归档日志,而在备库接受的归档日志不连续的问题。 该进程是通过fal_client,fal_server参数进行交互的。 当主库的某些日志没有成功发送到备库,这时候发生了Archive Gap,缺失的这些日志就是Gap。 DG能够自动检测,解决归档裂缝,不需要dba的介入,但是这需要配置fal_client,fal_server这两个参数 fal_client通过网络向fal_server发送请求 fal_server通过网络向 fal_client发送缺失的日志 除了自动解决,dba也可以手工解决,把日志拷贝到备库再注册: --注册单个 alter database register logfile '日志文件名'; --注册多个
files. returning error ORA-16191 ———————————————————— ARC3: Error 16191 attaching to RFS for reconnect FAL [server, ARC3]: Error 3113 creating remote archivelog file ‘dgvatms’ FAL[server, ARC3]: FAL archive failed ARCH: FAL archive failed. Archiver continuing ORACLE Instance vatms1 – Archival Error.
FAL_SERVER FAL=fetch archive log,这个参数设定备库从哪里获取归档日志,一般设定为主库的服务名(service name) 该参数只在备库(Standby)角色时有效,但Oracle 建议主库也设置,方便以后的角色转换 FAL_SERVER=dg2 12. FAL_CLIENT 设定FAL的客户端名称,一把为本地数据库的服务名 该参数只在备库(Standby)角色时有效,但Oracle建议主库也设置,方便以后的角色转换 FAL_CLIENT=dg1 好了
#define FAL_DEBUG 1 #define FAL_PART_HAS_TABLE_CFG #define FAL_PART_TABLE , "app", "onchip_flash", 64*1024, 192*1024, 0}, \ {FAL_PART_MAGIC_WROD, "ef", FAL_USING_NOR_FLASH_DEV_NAME , 0 , 1024 * 1024, 0}, \ {FAL_PART_MAGIC_WROD, "download", FAL_USING_NOR_FLASH_DEV_NAME, 1024 * 1024 , 512 * 1024, 0}, \ {FAL_PART_MAGIC_WROD, "factory", FAL_USING_NOR_FLASH_DEV_NAME, (1024 + 512) * 1024 , 512 * 1024, 0}, \ } #define FAL_USING_SFUD_PORT #define FAL_USING_NOR_FLASH_DEV_NAME "w25q64
2016 ALTER SYSTEM SET log_archive_dest_state_3='ENABLE' SCOPE=BOTH; 所以核心的部分就在于这儿,还有一个地方是Far Sync节点,Fal_server 的设置 FAR SYNC节点: SQL> show parameter fal NAME TYPE VALUE ------------------------------------ ---------- ----------- fal_client string fal_server string testdb, testdb2 我们可以简单测试一下Far Sync的影响范围:
FAL_SERVER FAL=fetch archive log,这个参数设定备库从哪里获取归档日志,一般设定为主库的服务名(service name) 该参数只在备库(Standby)角色时有效,但Oracle 建议主库也设置,方便以后的角色转换 FAL_SERVER=dg2 ---- 12. FAL_CLIENT 设定FAL的客户端名称,一把为本地数据库的服务名 该参数只在备库(Standby)角色时有效,但Oracle建议主库也设置,方便以后的角色转换 FAL_CLIENT=dg1 ---
LOG_ARCHIVE_DEST_2 network reconnect (270) ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned FAL [server, ARC1]: Error 270 creating remote archivelog file 'ssol1' FAL[server, ARC1]: FAL archive failed ARCH: FAL archive failed. Archiver continuing ORACLE Instance sol - Archival Error. [server, ARC1]: Error 270 creating remote archivelog file 'ssol1' FAL[server, ARC1]: FAL archive failed ARCH: FAL archive failed. Archiver continuing ORACLE Instance sol - Archival Error.
=jingyu_s'; --归档日志文件命名规则 alter system set log_archive_format='arch_%r_%t_%s.arc' scope=spfile; --DG的fal_server 和fal_client alter system set fal_server=jingyu_s; alter system set fal_client=jingyu; --设置standby_file_management VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jingyu' set standby_file_management='AUTO' set fal_server ='jingyu' set fal_client='jingyu_s' set memory_target='0' set sga_target='1024M'; 五、日常运维 5.1 日常管理维护 参考