RK3566调试GC2053

article/2025/9/23 23:23:50

电路

RK3566主板外接了一个MIPI接口涉嫌头模组,I2C接口I2C2,模组Sensor为GC2053,模组的设备地址为0x37(地址需和模组厂家确定),电路如下:

 管脚连接关系如下:

GPIO0_C1------>CAM_PWND(GPIO电平1.8V)

GPIO0_C0------>CAM_RESET(GPIO电平1.8V)

GPIO4_A7------>CAM_CLKOUT0(GPIO电平3.3V)通过分压电阻转为1.8V电平的时钟CAM_CLKOUT(对于分压电阻的选择比较讲究,电路图中的阻值不合适)

修改文件

DTS文件加入GC2053的配置

i2c节点下加入gc2053节点:

	gc2053: gc2053@37 {status = "okay";compatible = "galaxycore,gc2053";reg = <0x37>;clocks = <&cru CLK_CAM0_OUT>;clock-names = "xvclk";pinctrl-names = "rockchip,camera_default", "rockchip,camera_sleep";pinctrl-0 = <&cam_clkout0>;pinctrl-1 = <&cam_sleep>;power-domains = <&power RK3568_PD_VI>;reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;pwdn-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_LOW>;//reset pin control by hardware,used this pin switch to mipi input//1->2LANE(LANE 0&1) FRONT camera, 0->4LANE REAR camerarockchip,camera-module-index = <0>;rockchip,camera-module-facing = "front";rockchip,camera-module-name = "YT-RV1109-2-V1";rockchip,camera-module-lens-name = "40IR-2MP-F20";port {gc2053_out: endpoint {remote-endpoint = <&mipi_in_ucam0>;data-lanes = <1 2>;};};};

DTS文件中再加入dphy节点的配置: 

&csi2_dphy_hw {status = "okay";
};&csi2_dphy0 {status = "okay";ports {#address-cells = <1>;#size-cells = <0>;port@0 {reg = <0>;#address-cells = <1>;#size-cells = <0>;mipi_in_ucam0: endpoint@0 {reg = <0>;remote-endpoint = <&gc2053_out>;data-lanes = <1 2>;};};port@1 {reg = <1>;#address-cells = <1>;#size-cells = <0>;csidphy0_out: endpoint@0 {reg = <0>;remote-endpoint = <&isp0_in>;};};};
};

节点pinctrl下增加cam_sleep节点:

	cam {cam_sleep: cam-sleep {rockchip,pins =/* cam_sleep */<4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;};};

cam_clkout0节点已在rk3568-pinctrl.dtsi文件文件中定义:

	cam {/omit-if-no-ref/cam_clkout0: cam-clkout0 {rockchip,pins =/* cam_clkout0 */<4 RK_PA7 1 &pcfg_pull_none>;};/omit-if-no-ref/cam_clkout1: cam-clkout1 {rockchip,pins =/* cam_clkout1 */<4 RK_PB0 1 &pcfg_pull_none>;};};

内核加入驱动

官方的sdk ./kernel/drivers/media/i2c下已经包含了rockchip厂家的工程师调试过的gc2053的驱动,只需要在编译内核时加入对GC2053的支持即可:

 Device Drivers > Multimedia support > I2C Encoders, decoders, sensors and other helper chips 选中GalaxyCore GC2053 sensor support

保存配置文件,然后从新编译内核。

调试

将编译的内核镜像烧写到设备,设备启动后i2c总线上没有检测到0x37的设备:

[root@RK356X:/]# i2cdetect -y 20  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

启动日志也显示gc2053的驱动加载失败:

[root@RK356X:/]# dmesg | grep gc
[    0.000000] Linux version 4.19.193 (caiyong@ubt0001) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05), GNU ld (Linaro_Binutils-2017.05) 2.27.0.20161019) #31 SMP Mon Jun 13 11:56:01 CST 2022
[    1.019617] gc2053 2-0037: driver version: 00.01.01
[    1.019718] gc2053 2-0037: Failed to get power-gpios
[    1.019740] gc2053 2-0037: Looking up dovdd-supply from device tree
[    1.019751] gc2053 2-0037: Looking up dovdd-supply property in node /i2c@fe5b0000/gc2053@37 failed
[    1.019778] gc2053 2-0037: 2-0037 supply dovdd not found, using dummy regulator
[    1.019872] gc2053 2-0037: Linked as a consumer to regulator.0
[    1.019890] gc2053 2-0037: Looking up avdd-supply from device tree
[    1.019898] gc2053 2-0037: Looking up avdd-supply property in node /i2c@fe5b0000/gc2053@37 failed
[    1.019912] gc2053 2-0037: 2-0037 supply avdd not found, using dummy regulator
[    1.019964] gc2053 2-0037: Looking up dvdd-supply from device tree
[    1.019973] gc2053 2-0037: Looking up dvdd-supply property in node /i2c@fe5b0000/gc2053@37 failed
[    1.019985] gc2053 2-0037: 2-0037 supply dvdd not found, using dummy regulator
[    1.020037] gc2053 2-0037: lane_num(2)  pixel_rate(118800000)
[    1.025878] gc2053 2-0037: gc2053 read reg(0xf0 val:0x0) failed !
[    1.026089] gc2053 2-0037: gc2053 read reg(0xf1 val:0x0) failed !
[    1.026107] gc2053 2-0037: gc2053_read_reg failed (-6)

参考官方文档<Rockchip_Trouble_Shooting_Linux4.4_Camera_CN.pdf>里面有提到“Sensor ID识别不到, I2C通讯失败”的问题分析:

 我怀疑是mclk时钟没有产生,所以按照文档的指导将gc2053.c驱动代码中__gc2053_power_off()的实现注释了 :

static void __gc2053_power_off(struct gc2053 *gc2053)
{
/*int ret;struct device *dev = &gc2053->client->dev;if (!IS_ERR(gc2053->pwdn_gpio))gpiod_set_value_cansleep(gc2053->pwdn_gpio, 1);if (gc2053->clkout_enabled_index)clk_disable_unprepare(gc2053->xvclk);if (!IS_ERR(gc2053->reset_gpio))gpiod_set_value_cansleep(gc2053->reset_gpio, 1);if (!IS_ERR_OR_NULL(gc2053->pins_sleep)) {ret = pinctrl_select_state(gc2053->pinctrl,gc2053->pins_sleep);if (ret < 0)dev_dbg(dev, "could not set pins\n");}if (!IS_ERR(gc2053->power_gpio))gpiod_set_value_cansleep(gc2053->power_gpio, 0);regulator_bulk_disable(GC2053_NUM_SUPPLIES, gc2053->supplies);
*/
}

再次编译内核,将内核烧写到主板,用示波器还是测量不到cam_clkout0上有24MHz的时钟,有尝试断开R91,直接测量处理器的GPIO4_A4管脚,还是没有时钟。

借用外部时钟进行调试

在硬件上断开CAM_CLKOUT0与摄像头模组的连接,将主板上的pwm4连接到摄像头模组的MCLK引脚上,使用shell指令开启pwm4输出8MHz的时钟,再次通过i2c tool工具可检测到i2c 2总线上有0x37的设备了:

[root@RK356X:/sys/devices/platform/fe6e0000.pwm/pwm/pwmchip0/pwm0]# echo 0 > ena
ble 
[root@RK356X:/sys/devices/platform/fe6e0000.pwm/pwm/pwmchip0/pwm0]# echo 63 > du
ty_cycle 
[root@RK356X:/sys/devices/platform/fe6e0000.pwm/pwm/pwmchip0/pwm0]# echo 125 > p
eriod 
[root@RK356X:/sys/devices/platform/fe6e0000.pwm/pwm/pwmchip0/pwm0]# echo 1 > ena
ble 
[root@RK356X:/sys/devices/platform/fe6e0000.pwm/pwm/pwmchip0/pwm0]# i2cdetect -y20  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --        

排查时钟问题

根据官方<Rockchip_Developer_Guide_Linux4.4_4.19_Clock_CN.pdf>对时钟进行排查

[root@RK356X:/]# cat /sys/kernel/debug/clk/clk_summary enable  prepare  protect                                dutyclock                          count    count    count        rate   accuracy phase  cycle
---------------------------------------------------------------------------------------------xin_osc0_usbphy0_g                1        1        0    24000000          0     0  50000clk_usbphy0_ref                2        2        0    24000000          0     0  50000usb480m_phy                 2        2        0   480000000          0     0  50000usb480m                  1        1        0   480000000          0     0  50000clk_cam0_out          2        2        0    24000000          0     0  50000

可见clk_cam0_out配置正确。

排查GPIO的配置问题

GRF_GPIO4A_IOMUX_H
Address: Operational Base + offset (0x0064)

31:16RW0x0000write_enable
Write enable for lower 16bits, each bit is individual.
1'b0: Write access disable
1'b1: Write access enable
15RO0x0reserved
14:12RW0x0gpio4a7_sel
3'h0: GPIO4_A7
3'h1: CAM_CLKOUT0
3'h2: EBC_SDCE1
3'h3: GMAC1_RXD0M1
3'h4: SPI3_CS1M0
3'h5: I2S1_LRCKRXM1

查询IO寄存器:

SYS_GRF 0xFDC60000

GRF_GPIO4A_IOMUX_L 0x0060 

GRF_GPIO4A_IOMUX_H 0x0064 

[root@RK356X:/sys/kernel/debug/clk/clk_cam0_out]# io -4 -l 0x8 0xFDC60060
fdc60060:  00000000 00001000[root@RK356X:/]# io -4 -w 0xFDC60064 0x10001000
[root@RK356X:/]# io -4 -l 0x8 0xFDC60060
fdc60060:  00004400 00001000

bit[14:12]=001; GPIO4A7选择CAM_CLK_OUT0功能;

排查PD_VI电源域问题

由于cam时钟使用的电源域为RK3568_PD_VI,所以查询下PD_VI的状态:

[root@RK356X:/]# cd /sys/kernel/debug/pm_genpd/
[root@RK356X:/sys/kernel/debug/pm_genpd]# ls
pd_gpu  pd_pipe  pd_rkvdec  pd_vi  pd_vpu
pd_npu  pd_rga   pd_rkvenc  pd_vo  pm_genpd_summary
[root@RK356X:/sys/kernel/debug/pm_genpd]# cd pd_vi/
[root@RK356X:/sys/kernel/debug/pm_genpd/pd_vi]# cat current_state 
off-0

当前状态是关闭状态,可能只有当有相应的外设启用时才会开启。

查看PD_VI日志 

[root@RK356X:/sys/kernel/debug/pm_genpd/pd_vo]# dmesg | grep pd_vi
[    0.439066] rockchip-pm-domain fdd90000.power-management:power-controller: Looking up pd_vi-supply from device tree
[    0.439081] rockchip-pm-domain fdd90000.power-management:power-controller: Looking up pd_vi-supply property in node /power-management@fdd90000/power-controller failed

有个failed,看起来似乎有问题,但是无法找到原因。

使用有源晶振给Sensor提供时钟,再次调试

使用一颗24MHz的有源时钟给Sensor的MCLK管脚提供24MHz的时钟,有源晶振的电源使用1.8V供电。

设备启动完成后,通过i2c-tool工具查看i2c2总线上是否有0x37的设备:

[root@RK356X:/]# i2cdetect -y 2 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --   

可以看到总线上有0x37的设备,但是设备没加入驱动中。

通过i2cget命令读取0xF0和0小F1寄存器获取gc2053的CHIP ID:

[root@RK356X:/]# i2cget -f -y 2 0x37 0xF0
0x20
[root@RK356X:/]# i2cget -f -y 2 0x37 0xF1
0x53

查看开机日志,确认gc2053的驱动是否加载成功:

[root@RK356X:/]# dmesg | grep gc
[    0.000000] Linux version 4.19.193 (caiyong@ubt0001) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05), GNU ld (Linaro_Binutils-2017.05) 2.27.0.20161019) #31 SMP Mon Jun 13 11:56:01 CST 2022
[    1.019617] gc2053 2-0037: driver version: 00.01.01
[    1.019718] gc2053 2-0037: Failed to get power-gpios
[    1.019740] gc2053 2-0037: Looking up dovdd-supply from device tree
[    1.019751] gc2053 2-0037: Looking up dovdd-supply property in node /i2c@fe5b0000/gc2053@37 failed
[    1.019778] gc2053 2-0037: 2-0037 supply dovdd not found, using dummy regulator
[    1.019872] gc2053 2-0037: Linked as a consumer to regulator.0
[    1.019890] gc2053 2-0037: Looking up avdd-supply from device tree
[    1.019898] gc2053 2-0037: Looking up avdd-supply property in node /i2c@fe5b0000/gc2053@37 failed
[    1.019912] gc2053 2-0037: 2-0037 supply avdd not found, using dummy regulator
[    1.019964] gc2053 2-0037: Looking up dvdd-supply from device tree
[    1.019973] gc2053 2-0037: Looking up dvdd-supply property in node /i2c@fe5b0000/gc2053@37 failed
[    1.019985] gc2053 2-0037: 2-0037 supply dvdd not found, using dummy regulator
[    1.020037] gc2053 2-0037: lane_num(2)  pixel_rate(118800000)
[    1.025878] gc2053 2-0037: gc2053 read reg(0xf0 val:0x0) failed !
[    1.026089] gc2053 2-0037: gc2053 read reg(0xf1 val:0x0) failed !
[    1.026107] gc2053 2-0037: gc2053_read_reg failed (-6)

通过日志得知,gc2053的驱动加载失败了。

断电后立即上电,再查看开机日志,确认gc2053的驱动是否加载成功:

[root@RK356X:/]# dmesg | grep gc2053
[    1.021564] gc2053 2-0037: driver version: 00.01.01
[    1.021704] gc2053 2-0037: Failed to get power-gpios
[    1.021726] gc2053 2-0037: Looking up dovdd-supply from device tree
[    1.021737] gc2053 2-0037: Looking up dovdd-supply property in node /i2c@fe5b0000/gc2053@37 failed
[    1.021764] gc2053 2-0037: 2-0037 supply dovdd not found, using dummy regulator
[    1.021847] gc2053 2-0037: Linked as a consumer to regulator.0
[    1.021863] gc2053 2-0037: Looking up avdd-supply from device tree
[    1.021872] gc2053 2-0037: Looking up avdd-supply property in node /i2c@fe5b0000/gc2053@37 failed
[    1.021884] gc2053 2-0037: 2-0037 supply avdd not found, using dummy regulator
[    1.021933] gc2053 2-0037: Looking up dvdd-supply from device tree
[    1.021942] gc2053 2-0037: Looking up dvdd-supply property in node /i2c@fe5b0000/gc2053@37 failed
[    1.021953] gc2053 2-0037: 2-0037 supply dvdd not found, using dummy regulator
[    1.022024] gc2053 2-0037: lane_num(2)  pixel_rate(118800000)
[    1.030406] gc2053 2-0037: Detected GC2053 sensor
[    1.030477] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_f_gc2053 2-0037:bus type 4

这一次驱动加载成功了,可能是由于有源晶振冷启动时间比较长,加载驱动时,还没有产生时钟。

显示拓扑结构

执行media-ctl -p -d /dev/media0命令:

[root@RK356X:/]# media-ctl -p -d /dev/media0

- entity 67: rockchip-csi2-dphy0 (2 pads, 2 links)type V4L2 subdev subtype Unknown flags 0device node name /dev/v4l-subdev2pad0: Sink[fmt:SGRBG10_1X10/1920x1080@10000/300000 field:none]<- "m00_f_gc2053 2-0037":0 [ENABLED]pad1: Source[fmt:SGRBG10_1X10/1920x1080@10000/300000 field:none]-> "rkisp-csi-subdev":0 [ENABLED]- entity 70: m00_f_gc2053 2-0037 (1 pad, 1 link)type V4L2 subdev subtype Sensor flags 0device node name /dev/v4l-subdev3pad0: Source[fmt:SGRBG10_1X10/1920x1080@10000/300000 field:none]-> "rockchip-csi2-dphy0":0 [ENABLED]

拍摄图像 

设备接上显示屏及触屏再次启动设备,开机后点击桌面的qcamera进去相机程序,并且摄像头正常的话可以显示图像:

不过运行了30分钟后,就没有图像输出了,重新上电也没有图像输出了,可能是sensor太热烧坏了。

查找问题

在qcamera运行时,通过示波器可以测量到CAM_CLKOUT0(GPIO4_A7)产生了24MHz的时钟,通过此现象可知CAM_CLKOUT0可以产生时钟,但是需要在启动sensor后才会产生,所以官方文档提到的注释power_off()函数的实现mclk会一直产生这个不准确。不过用示波器测量经过R91、R95分压之后就没有时钟了,怀疑是分压电阻的阻值不合适导致了时钟没有产生。

取下R95,将R91改为1K,分压之后的波形如下:

 取下R95,将R91改为620Ω,分压之后的波形如下:

 R95改为620Ω,将R91改为100Ω,示波器探头改为x10档位,分压之后的波形如下:

 经过多次调试,将R91改为100Ω,R95改为300Ω,测量分压之后才有正确的24MHz的时钟:

 最大是2.04v,最小没到0v,如果要将最大调到1.8v以下,需要将R95再改小。

还原硬件,再次测试

主板启动后,通过开机日志可以看到gc2053的驱动加载成功了,i2c tool也能检测到i2c 2总线上有0x37的设备。

总结

对于高速时钟信号的电平转换,采用分压电阻时,阻值选择小一些,或者使用电平转换IC。

后续

1、上述博客中有提到,主板接上GC2053模组运行Camera半个小时后,显示屏上就无图像输出了,重新启动主板也无输出,当时怀疑是模组运行时间久了,发热烧坏了,后来重新做了一批主板,使用新主板接上此模组,运行Camera能输出图像,那么当时的问题应该是主板上的连接器有虚焊,主板运行时间过久导致连接器接触不良。

2、之前输出调试时是将摄像头模组的RESET和PWND与主板的GPIO断开了,在外部对模组的RESET和PWDN做上拉。后来取消RESET和PWDN的外部上拉,恢复与主板的GPIO连接,系统又无法检测到GC2053;断开PWDN与主板GPIO的连接,恢复PWDN的上拉,系统又能检测到GC2053,故猜想是驱动中PWDN拉高到RESET拉高之间需加入一些延时,查询GC2053的手册上的上电时序,PWDN拉高到RESET拉高之间是不需要加延时的。

修改驱动中__gc2053_power_on()函数:

	if (!IS_ERR(gc2053->pwdn_gpio))gpiod_set_value_cansleep(gc2053->pwdn_gpio, 0);usleep_range(50, 100);                            //增加                 if (!IS_ERR(gc2053->reset_gpio))gpiod_set_value_cansleep(gc2053->reset_gpio, 0);

加入了50us~100us的延时,恢复PWDN与主板GPIO的连接,现在系统启动可以检测到GC2503了,运行Camera也能正常输出图像。

当然这个问题,可能和我主板设计有关,我的主板到Sensor之间经过了一个转接板,连线比较长,有15cm的样子。


http://chatgpt.dhexx.cn/article/J97hAakg.shtml

相关文章

微雪树莓派PICO笔记——4. ADC(模拟数字转换器)

文章目录 什么是ADCRP2040 ADC技术参数ADC大致框架图【MicroPython】machine.ADC类函数详解代码实现 如果我们需要使用PWM精准的控制LED的亮度&#xff0c;就需要反馈但是LED的亮度是一个模拟变量&#xff0c;MCU不能直接处理模拟信号我们需要将其转换为数字信号才能进行处理 …

TFT-LCD电路设计之电源电路(Power IC)

POWER IC REVIEWS Power IC 利用经系统的输入电压生成5种工作电压&#xff0c;一般外界电压&#xff0c;NB为3.3V&#xff0c;Monitor为5V&#xff0c;TV一般为12V&#xff1b; ①VDD&#xff1a;各种逻辑IC电路工作电压&#xff0c;约3.3V左右&#xff0c;一般采用低压差线性…

MTK 安卓11 lcm AVDD及AVEE值修改

通常情况下lcm的avdd默认5.4v&#xff0c;某些屏幕对avdd要求不同&#xff0c;需要进行修改 驱动程序路径&#xff1a; kernel-4.14/drivers/misc/mediatek/lcm/lcm_pmic.c int display_bias_enable(void) {int ret 0;int retval 0;display_bias_regulator_init();/* set v…

LCD VGH -VGL

此电路可以输出AVDD电压&#xff1a;1.25*&#xff08;56.210&#xff09;/108.275V LX用于VGH 、 VGL&#xff1a;为了理解方便&#xff0c;下面将LX视为&#xff1a;0到10V&#xff0c;100khz&#xff0c;100%占空比的方波输出&#xff0c;二极管的压差视为VF1V VGL解析&…

TFT供电电路(VCOM/VGL/VGH/AVDD)设计原理

一般而言&#xff0c;一个 LCD 需要以下几种驱动电压&#xff1a; VCC – TFT 模组数字模块电源 AVDD – TFT 模组模拟模块电源 &#xff0c;电流要求可能会到20-30mA VGH – 门开启电压&#xff0c;一般为 VGH 12V~25V&#xff0c;IVGH<10mA VGL – 门关断电压&…

Standard EVB硬件开发指南(1)——LCD接口电路

Standard EVB硬件开发指南 一、LCD接口电路详解1、VLED背光驱动电路2、LCD多电源管理器&#xff08;VCOM、VGH、VGL、AVDD&#xff09;3、MIPI、LVDS接口定义4、LVDS显示控制接口5、LCD Layout设计要求 一、LCD接口电路详解 Standard EVB具备6.8寸和7寸MIPI接口电路&#xff0…

科学计算工具IPython

IPython是公认的现代科学计算中最重要的Python 工具之一&#xff0c;它是一个加强版的Pvthon交互式命令行工具&#xff0c;与系统自带的Python 交互环境相比,IPython主要具有以下特点&#xff1a; 与Shell 紧密关联&#xff0c;可以在IPython开发环境下直接执行Shell指令。 它是…

Python:ipython进阶学习

文章目录 简介一、ipython与matplotlib结合二、jupyter qtconsole三、命令历史记录与输入输出四、ipython与操作系统进行交互五、高级功能小结 简介 前面讲解了ipython里面的一些核心知识点&#xff0c;包括它的优势所在、快捷键操作、内省、什么是魔术命令等等&#xff0c;本…

[转]IPython介绍

1. IPython介绍 ipython是一个python的交互式shell&#xff0c;比默认的python shell好用得多&#xff0c;支持变量自动补全&#xff0c;自动缩进&#xff0c;支持bash shell命令&#xff0c;内置了许多很有用的功能和函数。学习ipython将会让我们以一种更高的效率来使用python…

ipython学习

用pip安装ipython:pip install ipython 在开始菜单输入cmd&#xff0c;回车或者shift鼠标右键&#xff0c;选择‘在此处打开命令窗口’ -->输入ipython tab自动完成 内省 在变量的前面或后面加上一个问号(?)就可以将有关该对象的一些通用信息显示出来。这就叫做对象的内省…

Ipython版本控制

Ipython版本控制 2020-5-28 昨天设置了Anaconda环境的复制和移植&#xff0c;今天发现激活复制后的anaconda环境&#xff0c;ipython还是base版本的&#xff0c;python却已经转为了复制后的anaconda版本。 这说明ipython的控制和python控制还不是同步的&#xff0c;ipython需…

ipython安装报错

ipython安装报错 在命令行中执行 pip install ipython 安装报错 WARNING: Failed to write executable - trying to use .deleteme logic ERROR: Could not install packages due to an OSError: [WinError 2] 系统找不到指定的文件。: ‘C:\Python311\Scripts\pygmentize.ex…

ipython怎么安装_如何装ipython

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 我安装了anaconda&#xff0c;效果很好。 我按照anaconda cmd命令行设置了一个python 3环境&#xff0c;效…

NumPy 秘籍中文第二版:一、使用 IPython

原文&#xff1a;NumPy Cookbook - Second Edition 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 在本章中&#xff0c;我们将介绍以下秘籍&#xff1a; 安装 IPython使用 IPython 作为 Shell阅读手册页安装 matplotlib运行 IPython 笔记本导出 IPython 笔记本导入网…

ipython的变量_IPython介绍

本文编写时&#xff0c;IPython最新的版本为6.3和5.4。 介绍 IPython 是 Fernando 在 2001 开始开发的一个交互式的Python解释执行环境。众所周知&#xff0c;Python提供了一个交互执行的环境&#xff0c;在命令行输入python或者python3就可以进入Python的命令行环境&#xf…

IPython使用技巧

目录 1. ?打印IPython简介 2. ?快捷功能 3. ??快捷功能 4. history历史命令 5. tab自动补全 6. !执行shell命令 7.%和%%魔法命令区别 8. %run运行脚本 9.%timeit测量代码运行时间 10.%%timeit测量代码运行时间 11. %pwd显示工作路径 12. %matplotlib inline显示…

ipython换行_ipython 换行

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我一直试图在ipython notebook中启用换行。 我没有搜索到结果,我在终端输入ipython notebook --help。 给了我大量配置命令,但没有换行。 有谁知道notebook是…

Py之ipython:Python库之ipython的简介、安装、使用方法详细攻略

Py之ipython&#xff1a;Python库之ipython的简介、安装、使用方法详细攻略 目录 ipython的简介 1、IPython的主要功能 ipython的安装 ipython的使用方法 1、shell的方法交互式使用IPython 2、web的方法进入jupyter notebook ipython的简介 ipython是一个python的交互式s…

史上最详细、最完全的ipython使用教程,Python使用者必备!——ipython系列之二

声明&#xff1a;本文承接前面一篇文章&#xff0c;ipython系列之一&#xff1b;另外&#xff0c;本文所指的ipython不是ipython notebook&#xff0c;ipython notebook已经被jupyter notebook所取代&#xff0c;不再叫ipython notebook了。 前面讲解了ipython里面的一些核心知…

史上最详细、最完全的ipython使用教程,Python使用者必备!——ipython系列之一

一、ipython简介 关于什么是ipython&#xff0c;本文就不加以介绍了&#xff0c;他是一个非常流行的python解释器&#xff0c;相比于原生的python解释器&#xff0c;有太多优点和长处&#xff0c;因此几乎是python开发人员的必知必会。 1、ipython相比于原生的python有什么优…